[英]How to concatenate two csv files in python
我有一個代碼,我嘗試使用 pd.concat() 合並幾個 csv 文件,我遇到的問題是連接文件的最后一列 file1.csv 和 file2.Z628CB5675FF528F3FZ 的第一列合並在 a972FE52FE8F3FZ 中單元格(與 file.csv 和 file3.csv 相同)如下圖所示。 我將不勝感激在這方面的任何幫助。
file1 = 'file1.csv'
file2 = 'file2.csv'
file3 = 'file3.csv'
df1 = pd.read_csv( file1, sep="\n" ,na_values='NA')
df2 = pd.read_csv( file2, sep="\n" ,na_values='NA')
df3 = pd.read_csv( file3, sep="\n" ,na_values='NA')
BigDf = pd.concat([df1, df2,df3], axis=1)
BigDf.to_csv('final.csv', sep="\t", index = False)
例如。 file1.csv 是
A B C
0 False False False
1 True True False
2 False False False
3 False False False
file2.csv 是
D E F
0 False False False
1 True True False
2 False False False
3 False False False
合並的文件應該是
A B C D E F
0 False False False False False False
1 True True False True True False
2 False False False False False False
3 False False False False False False
相反,它是
A B CD E F
0 False False FalseFalse False False
1 True True FalseTrue True False
2 False False FalseFalse False False
3 False False FalseFalse False False
concat 對我來說按預期工作,請參閱下面的代碼,
import pandas as pd
df1 = pd.read_clipboard()
df1
A B C
0 False False False
1 True True False
2 False False False
3 False False False
df2 = pd.read_clipboard()
df2
D E F
0 False False False
1 True True False
2 False False False
3 False False False
pd.concat([df1, df2], axis=1)
A B C D E F
0 False False False False False False
1 True True False True True False
2 False False False False False False
3 False False False False False False
df_new = pd.concat([df1, df2], axis=1)
df_new
A B C D E F
0 False False False False False False
1 True True False True True False
2 False False False False False False
3 False False False False False False
df_new.to_csv("test.csv", sep='\t', index=False)
df_new_loaded = pd.read_csv("test.csv", sep='\t')
df_new_loaded
A B C D E F
0 False False False False False False
1 True True False True True False
2 False False False False False False
3 False False False False False False
df_new_loaded.columns
Index(['A', 'B', 'C', 'D', 'E', 'F'], dtype='object')
df_new_loaded
A B C D E F
0 False False False False False False
1 True True False True True False
2 False False False False False False
3 False False False False False False
你可以試試
pd.concat([df1, df2], axis='col')
但它可能會給你同樣的結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.