使用pandas组合两个csv文件

Fiq*_*fbw 7 python csv concat dataframe pandas

任何人都可以检查我的代码有什么问题.我希望它将两个csv文件合并到一个csv文件中.

我曾尝试谷歌,我仍然无法合并它,它将创建新文件,但不会显示任何内容. /sf/answers/1138630111/

a.csv

ID    User
A1    Fi
A2    Ki
Run Code Online (Sandbox Code Playgroud)

b.csv

ID    User
A4    Fsdi
A5    Kisd
Run Code Online (Sandbox Code Playgroud)

我想要的输出看起来像这样

combined.csv

ID    User
A1    Fi
A2    Ki
A4    Fsdi
A5    Kisd
Run Code Online (Sandbox Code Playgroud)

test.py

import pandas, sys
import pandas as pd


a = pd.read_csv("C:/JIRA Excel File/a.csv")
b = pd.read_csv("C:/JIRA Excel File/b.csv")

merged = a.merge(b, on='ID')

merged.to_csv('C:/JIRA Excel File/result.csv', index=False)
Run Code Online (Sandbox Code Playgroud)

cs9*_*s95 8

使用df.append:

out = df1.append(df2)
print(out)

   ID  User
0  A1    Fi
1  A2    Ki
0  A4  Fsdi
1  A5  Kisd

with open('C:/JIRA Excel File/result.csv', 'w', encoding='utf-8') as f:
    out.to_csv(f, index=False)
Run Code Online (Sandbox Code Playgroud)


Gri*_*ory 6

最好在pd.concat这里使用它来组合这些帧,而不是merge:

merged = pd.concat([a,b])
Run Code Online (Sandbox Code Playgroud)

您的数据的玩具示例:

a = pd.DataFrame([['Fi'],['Ki']],columns=['User'], index=['A1','A2'],) #'ID')
b = pd.DataFrame([['Fi'],['Ki']],columns=['User'], index=['A4','A5'],) #'ID')
pd.concat([a,b])
Run Code Online (Sandbox Code Playgroud)

将输出:

    User
A1  Fi
A2  Ki
A4  Fi
A5  Ki
Run Code Online (Sandbox Code Playgroud)

  • unicode错误与您的原始问题无关.为[read_csv]指定正确的编码(https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html). (2认同)