你好,我已经在Google上搜索了所有内容,但仍然找不到符合我需求的内容。
我发现了这个:Combining two csv files using pandas
但是它没有满足我的要求。
代码
df1 = pd.read_csv("a.csv")
df2 = pd.read_csv("b.csv")
out = df1.append(df2)
with open('main.csv', 'w', encoding='utf-8') as f:
out.to_csv(f, index=False)
a.csv
col1 col2 col3
a b c
d e f
b.csv
col1 col2 col3
g h i
j k l
main.csv 似乎输出很好...
col1 col2 col3
a b c
d e f
g h i
j k l
但是,当我尝试删除 a.csv 或 b.csv 中的数据时,似乎删除了 main.csv < / strong>
示例: a.csv (已删除a,b,c)
col1 col2 col3
d e f
b.csv
col1 col2 col3
g h i
j k l
main.csv
col1 col2 col3
d e f
g h i
j k l
如果我在任一csv中删除了一些数据,似乎会留下空白并删除数据。基本上, a.csv 和 b.csv 总是在变化,我想将这两者结合而不改变 main.csv 的原始数据有。我还希望 main.csv 不会出现重复的行。
答案 0 :(得分:0)
您必须以附加模式而不是写入模式写入文件,下面将是正确的方法
with open('main.csv', 'a', encoding='utf-8') as f:
out.to_csv(f, index=False)
要删除重复项,请参考以下问题
Removing duplicate rows from a csv file using a python script