【发布时间】:2014-01-21 06:57:05
【问题描述】:
我想将一个目录中的几个 csv 文件读入 pandas 并将它们连接到一个大 DataFrame 中。我一直无法弄清楚。这是我目前所拥有的:
import glob
import pandas as pd
# get data file names
path =r'C:\DRO\DCL_rawdata_files'
filenames = glob.glob(path + "/*.csv")
dfs = []
for filename in filenames:
dfs.append(pd.read_csv(filename))
# Concatenate all data into one DataFrame
big_frame = pd.concat(dfs, ignore_index=True)
我想我在 for 循环中需要一些帮助???
【问题讨论】:
-
您的代码什么都不做,因为您没有附加到您的
dfs列表,您不想用dfs.append(pd.read_csv(filename)替换行data = pd.read_csv(filename)。然后,您需要遍历列表和concat,我认为concat不会在dfs 的列表上工作。 -
您还在最后一行中将模块的别名与模块名称混合在一起,不应该是
big_frame = pd.concat(dfs, ignore_index=True)吗?无论如何,一旦您拥有数据框列表,您将需要迭代列表并连接到big_frame -
是的,我编辑了代码,但我仍然无法从 csv 文件构建串联数据框,我是 python 新手,所以我需要更多帮助
-
你现在需要遍历
dfs,所以for df in dfs: big_frame.concat(df, ignore_index=True)应该可以工作,你也可以尝试append而不是concat。 -
您能更准确地说明什么不起作用吗?因为
concat应该像您一样处理数据帧列表。我认为这是一个非常好的方法。
标签: python pandas csv dataframe concatenation