我想使用 Python pandas 附加(合并)文件夹中的所有 csv 文件。
例如:说文件夹有两个csv文件test1.csv
和test2.csv
如下:
A_Id P_Id CN1 CN2 CN3
AAA 111 702 709 740
BBB 222 1727 1734 1778
和
A_Id P_Id CN1 CN2 CN3
CCC 333 710 750 750
DDD 444 180 734 778
所以我写的python脚本如下:
#!/usr/bin/python
import pandas as pd
import glob
all_data = pd.DataFrame()
for f in glob.glob("testfolder/*.csv"):
df = pd.read_csv(f)
all_data = all_data.append(df)
all_data.to_csv('testfolder/combined.csv')
虽然 combined.csv
似乎有所有附加的行,但它看起来如下:
CN1 CN2 CN3 A_Id P_Id
0 710 750 750 CCC 333
1 180 734 778 DDD 444
0 702 709 740 AAA 111
1 1727 1734 1778 BBB 222
它应该看起来像这样:
A_ID P_Id CN1 CN2 CN2
AAA 111 702 709 740
BBB 222 1727 1734 1778
CCC 333 110 356 123
DDD 444 220 256 223
- 为什么前两列移到最后?
- 为什么附加在第一行而不是最后一行?
我错过了什么?以及如何在第一列中获取 0 和 1?
P.S:由于这些是大型 csv 文件,我想到了使用 pandas。
最佳答案
试试这个.....
all_data = all_data.append(df)[df.columns.tolist()]
关于python - 为什么在附加 Pandas 数据框时列顺序会发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33797454/