打开多个CSV文件
问题描述:
我想打开多个Excel文件。我的程序会抛出错误消息“FileNotFoundError”。该文件存在于目录中。打开多个CSV文件
下面是代码:
import os
import pandas as pd
path = "C:\\GPA Calculations for CSM\\twentyfourteen"
files = os.listdir(path)
print (files)
df = pd.DataFrame()
for f in files:
df = pd.read_excel(f,'Internal', skiprows = 7)
print ("file name is " + f)
print (df.loc[0][1])
print (df.loc[1][1])
print (df.loc[2][1])
计划给出了df = pd.read_excel(f,'Internal', skiprows = 7)
错误。
我在另一个程序(打开单个文件)上打开了相同的文件,并且工作正常。任何建议或意见将不胜感激。
答
os.listdir
列出文件名相对到您作为参数提供的目录(路径)。因此,您需要一起加入路径和文件名以获取每个文件的绝对路径。因此,在你的循环中:
for filename in files:
abspath = os.path.join(path, filename)
<etc, replace f by abspath>
你的路径文件夹中的所有文件都是优秀的并且每个都具有相同的结构? – Scott
你能显示你收到的特定错误信息吗?我想排除你指向错误的文件路径的可能性。在实例化数据框之前,尝试添加“assert os.path.exists(f)”行。看看是否给你一个错误。 –
'os.listdir(path)'将只返回路径内的文件名。通过'os.path.join(path,f)'而不是f –