我在一个文件夹中有多个csv文件,其中一些以'xxxxx.t01.csv'结尾。现在我要做的是在panda中创建一个数据框列表,其中包含所有这些带有'.t01.csv'结尾的文件。我尝试使用fnmatch和globe2,但没有一个工作。 (我使用python 3.7)。这是我的代码:
import os, fnmatch
import pandas as pd
list_of_files = os.listdir('C:\\Users\\My_PC\\Desktop\\new folder')
for entry in list_of_files:
if fnmatch.fnmatch(entry, '*t01.csv'):
df=pd.read_csv(entry)
print(df[])
我收到了这个错误:
然后我尝试使用glob2,但我无处可去。
import pandas as pd
import glob2
path = r''C:\\Users\\My_PC\\Desktop\\new folder''
all_files = glob2.glob(path + "*t01.csv")
for filename in all_files:
df = pd.read_csv(filename, index_col=None, header=0)
print(df)
但它什么都不会显示出来。有人能告诉我问题是什么吗?
使用os.chdir()
和glob
:
os.chdir('C:\\Users\\My_PC\\Desktop\\new folder\\')
all_files = glob.glob("*t01.csv")
for filename in all_files:
df = pd.read_csv(filename, index_col=None, header=0)
print(df)
print("---------seperator--------------")
将它们一起添加到一个数据框中:refer to this lnk
该错误是不言自明的,它无法在当前目录中找到文件名。要解决问题,请在完整文件路径中传递,或使用os.chdir(path)
更改当前工作目录,这是不推荐的。使用os.path.join()替换如下文件名
pd.read_csv(os.path.join(path,filename), index_col=None, header=0)