我目前正在使用Python和Tkinter开发GUI。 任务是打开并读取一些* .csv文件。 我命令执行此任务我编写了以下代码:
ReadData=pd.read_csv(ResultFile,skipinitialspace=True).values
虽然我在IDE Eclipse + Pydev中运行代码,但一切正常。但是一旦我从Dos窗口运行我的代码,即python MainGrap.py
,代码就会发出错误声明该文件不存在???????
我首先通过self.Inp_Filename=askopenfilename()
将路径加载到文件,然后通过以下函数创建文件夹列表:
def PathDisintegrator(Inp_File):
Folders = os.path.split(Inp_File)
LastFolder = Folders[1]
RootPath = Folders[0]
Dirs=[]
while not(LastFolder==''):
Dirs.insert(0,LastFolder)
Folders = os.path.split(RootPath)
LastFolder = Folders[1]
RootPath = Folders[0]
Dirs.insert(0,RootPath[:-1])
Dirs=Dirs[:-1]
return(Dirs)
然后我可以通过以下函数重新创建文件的完整路径:
def PathAndFile(Folders,File):
FileOut=''
for item in Folders:
FileOut=FileOut+os.sep+item
#FileOut=FileOut+r"\\"+item
FileOut=FileOut[1:]+os.sep+File
return(FileOut)
即使在Pandas的解析器中,我也打印出了文件路径,它对我来说很好看:D:\Abaqus_Runs\DOWLEX_PET_LAMINATE_PROTO_REFERENCE_SI_Version_2_Revision_2_MDangle0_Rate0_01_MOVING_NODE_out.csv
答案 0 :(得分:1)
这里的问题是你在eclipse中的python环境可以看到你的csv所在的文件夹,但终端没有。
您可以通过以下方式观察系统路径:
In [331]:
import sys
sys.path
Out[331]:
['',
'C:\\WinPython-64bit-3.4.2.4\\python-3.4.2.amd64\\python34.zip',
'C:\\WinPython-64bit-3.4.2.4\\python-3.4.2.amd64\\DLLs',
'C:\\WinPython-64bit-3.4.2.4\\python-3.4.2.amd64\\lib',
'C:\\WinPython-64bit-3.4.2.4\\python-3.4.2.amd64',
'C:\\WinPython-64bit-3.4.2.4\\python-3.4.2.amd64\\lib\\site-packages',
'C:\\WinPython-64bit-3.4.2.4\\python-3.4.2.amd64\\lib\\site-packages\\win32',
'C:\\WinPython-64bit-3.4.2.4\\python-3.4.2.amd64\\lib\\site-packages\\win32\\lib',
'C:\\WinPython-64bit-3.4.2.4\\python-3.4.2.amd64\\lib\\site-packages\\Pythonwin',
'C:\\WinPython-64bit-3.4.2.4\\python-3.4.2.amd64\\lib\\site-packages\\IPython\\extensions']
因此,您需要提供完整路径或将路径附加到csv所在的sys路径。请注意,必须对反斜杠进行转义,例如'c:\\data\\my.csv'
但是如果你使用正斜杠那么它可以正常工作:例如'c:/data/my.csv'