将两个csv文件合并到另一个csv文件中,而不会影响Python中输出csv中的先前数据

时间:2019-03-02 06:14:59

标签: python pandas csv

你好,我已经在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 不会出现重复的行。

1 个答案:

答案 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