如何从熊猫列表中读取多个csv?

时间:2020-08-24 20:08:33

标签: python pandas

我有一个包含不同csv文件的列表,我想做的就是读取这些csv文件并保存在变量中以进行后继操作。

这就是我现在拥有的


DF_list= list()

for filename in sorted(glob.glob(dirname + '/*.csv')):
    print(filename)
    df7 = pd.read_csv(filename)
    DF_list.append(df7)

我想做这样的事情,我该怎么做?

df1 = pd.read_csv(DF_list[0])
df2 = pd.read_csv(DF_list[1])
df3 = pd.read_csv(DF_list[2])
>> ValueError: Invalid file path or buffer object type: <class 'pandas.core.frame.DataFrame'>

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

  • DF_listlist中的DataFrames,而不是CSV文件列表
  • DF_list[0]DataFrame
  • df1 = pd.read_csv(DF_list[0])尝试将DataFrame读取为CSV

创建多个数据框

df1 = DF_list[0]
df2 = DF_list[1]
df3 = DF_list[2]

创建一个数据框

df = pd.concat(DF_list)

答案 1 :(得分:0)

您可以创建一个字典并将数据存储在其键前面的每个文件中。我不知道这是否有帮助,但这只是我的建议。

import pandas as pd

DF_list = {}
a = ["Book1.csv", "Book2.csv"]

for i in a:
    DF_list[i] = []    

# for i in len(a):
    # DF_list[i] = []    

for filename in a:
    print(filename)
    df7 = pd.read_csv(filename)
    DF_list[filename] = df7

# print(DF_list["Book1.csv"]["column_name"])
print(DF_list["Book1.csv"])
# print(DF_list[0])

答案 2 :(得分:0)

您也可以使用list comprehension

df=pd.concat([pd.read(file) for file in list])