【问题标题】:Python detect and retrieve filename of open csv filePython检测并检索打开的csv文件的文件名
【发布时间】:2012-08-10 09:27:32
【问题描述】:

我正在使用 VBA 将 Excel 工作表保存为 CSV 文件。宏将其保存为 CSV,然后在 excel 中打开。我有一个读取文件的python代码,用户选择它(使用tkinter)打开。

有没有办法修改我的 python 代码以检测打开的 csv 文件,以便我可以跳过用户选择阶段?我希望它返回文件路径或读取打开的 csv 文件。这是我的代码的当前版本,如果 csv 文件在 excel 中打开,则可以使用:

import numpy as np
from Tkinter import Tk
from tkFileDialog import askopenfilename
tk=Tk()
tk.withdraw()
filename = askopenfilename()
data = np.genfromtxt(filename, dtype=[('x',float),('y',float)],comments='"', delimiter=',',skip_header=1,missing_values=True)
tk.destroy()
x=data['x']
x = x[np.logical_not(np.isnan(x))]
y=data['y']
y = y[np.logical_not(np.isnan(y))]
print x
print y

【问题讨论】:

    标签: python csv filepath


    【解决方案1】:

    哪个操作系统?如果是 Windows,请查看Get name of active Excel workbook from Python。问题本身的代码可能会满足您的需求:

    import win32com.client
    
    xl = win32com.client.Dispatch("Excel.Application")
    print(xl.ActiveWorkbook.FullName)
    

    正如该问题的答案中所述,这仅打印最近打开的文件的路径,但在您的情况下,听起来宏正在打开文件,所以也许它会起作用?否则,看看实际的答案 - 它似乎很完整。

    【讨论】:

      猜你喜欢
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      • 2015-08-30
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 2013-04-17
      • 1970-01-01
      相关资源
      最近更新 更多