pandas - 创建 csv 文件列表后,如何合并它们?
问题描述
我创建了一个 csv 文件列表并清理了它们。我一直坚持将这些 csv 文件列表合并在一起。每个 csv 文件在清理后具有相同的列标签。它们还有一个额外的列标签。我需要合并具有相同名称的列。
这是我的代码示例:
os.listdir(os.getcwd())
filelist = glob.glob('*.csv')
for file in filelist:
df = pd.read_csv(file)
#cleaning code section
print(df.head())
pd.concat(filelist)
我试过使用 pd.concat(filelist) 因为我虽然它可以用列表做到这一点,但我明白了
TypeError:无法连接类型为“<class 'str'>”的对象;只有 Series 和 DataFrame obj 是有效的
如果是这种情况,我可以将我的列表变成一个 DataFrame 对象,还是可以使用合并或加入之类的东西?
请发送帮助!
解决方案
os.listdir(os.getcwd())
filelist = glob.glob('*.csv')
dfs = []
for file in filelist:
file_df = pd.read_csv(file)
#cleaning code section
print(file_df.head())
dfs.append(file_df)
df = pd.concat(dfs, ignore_index=True) # ignore_index to reset index in concatenated df
# One-liner (no cleaning)
df = pd.concat((pd.read.csv(file) for file in glob.glob('/*.csv')), ignore_index = True)
推荐阅读
- android - Flutter:试图访问方法 sun.security.util.ECUtil.getECParameters(Ljava/security/Provider;)Ljava/security/AlgorithmParameters
- java - RecyclerView 的项目在屏幕上的位置在运行时发生变化
- vue.js - FlotChart setupGrid() 不更新 X 轴
- java - 线程中的signallAll方法
- python - 如何跨不同的 PPI 和屏幕分辨率扩展我的 Tkinter 程序
- typescript - 部分重叠的打字稿键
- react-native - Realm 在 android 10 的 react-native 中崩溃?
- rust - 实现 IntoIterator 以迭代内部集合时的生命周期冲突
- php - 如何从 Twitter API 获取缩进文本?
- scala - Dotty 是否支持改进?