Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python检测并检索打开的csv文件的文件名_Python_Csv_Filepath - Fatal编程技术网

Python检测并检索打开的csv文件的文件名

Python检测并检索打开的csv文件的文件名,python,csv,filepath,Python,Csv,Filepath,我正在使用VBA将excel工作表保存为CSV文件。宏将其保存为CSv,然后在excel中打开。我有一个python代码,通过用户选择(使用tkinter)打开该文件来读取该文件 有没有办法修改python代码以检测打开的csv文件,从而跳过用户选择阶段?我希望它返回文件路径或读取打开的csv文件。这是“我的代码”的当前版本,如果在excel中打开csv文件,则该版本有效: import numpy as np from Tkinter import Tk from tkFileDialog i

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

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

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

哪个操作系统?如果是Windows,请查看。问题中的代码本身可能满足您的要求:

import win32com.client

xl = win32com.client.Dispatch("Excel.Application")
print(xl.ActiveWorkbook.FullName)
正如在该问题的答案中所提到的,这只打印最近打开的文件的路径,但在您的情况下,听起来好像宏正在打开文件,所以它可能会工作?否则,看看实际的答案——它似乎非常完整