【发布时间】:2023-03-29 01:48:01
【问题描述】:
我正在编写一个脚本,该脚本将文本文件读入可包含各种列和行的 pandas DataFrame。然后,对数据进行一些操作,需要将其全部汇总到一个DataFrame中,输出到一个excel文档中。
我的代码适用于单个文件,但现在我需要遍历所有文件。
这看起来应该很容易做到,但我已经尝试了所有我能找到的 pandas 函数来完成这个,但没有任何效果。
这是基本结构:
import glob
import pandas as pd
# ...
inputFiles = glob.glob('*.rep')
for filename in inputFiles:
df = pd.read_csv(filename, sep = ' ')
# DF MODIFICATIONS...
# Need to send a new df here to avoid overwriting on loop
输入/期望输出示例:
#file1.rep:
columnA columnB columnC
val1 val2 val3
#file2.rep:
columnA columnB columnX
val4 val5 val6
#resulting dataframe:
columnA columnB columnC columnX
val1 val2 val3 NaN
val4 val5 NaN val6
我尝试了 append、add、combine、join、concat,但都没有奏效。我只是不正确地使用其中之一吗?
【问题讨论】:
-
Import multiple csv files into pandas and concatenate into one DataFrame 很好地涵盖了这一点。您没有显示代码的实际 concat/join 部分,因此很难知道您哪里出错了。
-
追加所有到一个列表并使用
pd.concat? -
@HenryEcker 谢谢!在我的搜索中没有找到这个