我想使用循环从列表中读取多个文件。如果我将列表放在文件路径字段中,则会出现错误。我想知道为什么。
import pandas as pd
file_list = [aaa.csv, bbb.csv, ccc.csv]
for n in range(2):
train[n] = pd.read_csv("file_list[n]")
导致此错误:
文件b'file_list [n]'不存在.....
答案 0 :(得分:0)
您当前正在尝试打开一个字面称为file_list[n]
的文件,并且没有这样的文件。请尝试:
train[n] = pd.read_csv(file_list[n])
# no quotes here ^^^^^^^^^^^^
如果省略引号,则表达式file_list[n]
的值将为列表中的第n个文件名,并且该文件将被打开。
请注意,这可能仍然会失败,因为变量train
尚未初始化。因此,您可以从train = []
开始创建一个空列表,然后向该列表添加append
个新元素。您的代码如下:
import pandas as pd
file_list = ['aaa.csv', 'bbb.csv', 'ccc.csv']
train = []
for n in range(2):
train.append(pd.read_csv(file_list[n]))
如果您想成为真正的铁杆,甚至可以写作
import pandas as pd
train = [pd.read_csv(f) for f in ['aaa.csv', 'bbb.csv', 'ccc.csv']]