【发布时间】:2022-06-30 03:31:49
【问题描述】:
我已经看过了:How to combine 2 csv files with common column value, but both files have different number of lines 和:Merging two CSV files using Python 但两者都没有给出我需要的输出。
我有两个包含以下数据的 csv 文件:
第一个文件是 - data1.csv
Name Dept Company
John Smith candy lead
Diana Princ candy lead
Perry Plat wood lead
Jerry Springer clothes lead
Calvin Klein clothes lead
Lincoln Tun warehouse lead
Oliver Twist kitchen lead
第二个文件是 - data2.csv
Name Dept Company
John Smith candy lead
Tyler Perry candy lead
Perry Plat wood lead
Mary Poppins clothes lead
Calvin Klein clothes lead
Lincoln Tun warehouse lead
Herman Sherman kitchen lead
Jerry Springer clothes lead
Ivan Evans clothes lead
我想将它们合并为一个名为newdata.csv 的文件,将Dept 列分组并删除Company 列。最终输出如下所示:
Name Dept
John Smith candy
Diana Princ candy
Tyler Perry candy
Perry Plat wood
Jerry Springer clothes
Calvin Klein clothes
Mary Poppins clothes
Ivan Evans clothes
Lincoln Tun warehouse
Oliver Twist kitchen
Herman Sherman kitchen
我尝试使用合并功能,但输出不是我需要的。
这是我目前的代码:
import pandas as pd
import os, csv, sys
csvPath1 = 'data1.csv'
csvPath2 = 'data2.csv'
csvDest = 'newdata.csv'
df1 = pd.read_csv(csvPath1)
df2 = pd.read_csv(csvPath2)
df1=df1.drop('Company', 1)
df2=df2.drop('Company', 1)
merged = df1.merge(df2)
merged=merged.sort_values('Dept')
merged.to_csv(csvDest, index=False)
【问题讨论】:
标签: python-3.x pandas csv merge