Benjamin00 发表于 2022-4-4 16:34

Python合并CSV文件

         最近在合并CSV文件,C#写比较麻烦,发现Python写好方便。
         可以处理中文字符,可以选择是否去掉重复行。
import pandas as pd
import glob

outputfile = 'Merge.csv'

csv_list = glob.glob("F:/Files/*.CSV")
print(u'发现%s个CSV文件' % len(csv_list))
print(u'开始处理..........')


def merge():
    count=0
    for inputfile in csv_list:
      f = open(inputfile, 'r',encoding='utf_8_sig')
      data = pd.read_csv(f)

      if count == 0:
            data.to_csv(outputfile, mode='a', index=False, header=True, encoding='utf_8_sig')
      else:
            data.to_csv(outputfile, mode='a', index=False, header=None, encoding='utf_8_sig')

      count += 1
    print("完成合并")


def eliminate_duplicates(file):
    df = pd.read_csv(file, header=0)
    datalist = df.drop_duplicates()
    datalist = datalist.loc[:, ~datalist.columns.str.contains('Unnamed')]
    datalist.to_csv(file, ',', index=False,encoding='utf_8_sig')
    print('完成去重')


if __name__ == '__main__':
    merge()
    eliminate_duplicates(outputfile)

zucker 发表于 2022-4-4 17:20

不如bat文件

wycdd 发表于 2022-4-4 17:43

思路清晰有想法

ilpj 发表于 2022-4-4 18:08

感谢分享,:lol标题不全同的csv文件如何{:1_889:}

dmiss 发表于 2022-4-4 18:10

过来瞧瞧热闹

Benjamin00 发表于 2022-4-4 19:03

zucker 发表于 2022-4-4 17:20
不如bat文件

bat去重不好写。有没分享?

zohoChou 发表于 2022-4-4 21:06

concat???

zucker 发表于 2022-4-5 10:52

Benjamin00 发表于 2022-4-4 19:03
bat去重不好写。有没分享?

我只用过bat合并txt
页: [1]
查看完整版本: Python合并CSV文件