如何合并和格式化多个csv文件中的列元素并将其转储到新的csv文件中

时间:2019-12-25 16:50:15

标签: python pandas shell csv

我有多个CSV文件。它们都有一个id列

在A.csv中

ID
---
01487
01986
01478

在b.csv中

ID
---
01578
01568
01478

我想从这些CSV文件中创建CSV,其中 c.csv

ID
----
01487
01986
01478
01578
01568
01478 

我已经看到按列连接,但是我希望所有ID都在同一列中。 我看过熊猫级联,但不能像这样格式化。赞赏任何基于python panda的解决方案或shell命令解决方案

2 个答案:

答案 0 :(得分:0)

在shell中使用以下代码:

cat a.csv >> c.scv
tail -n 2 b.csv >> c.csv

答案 1 :(得分:0)

你可以在下面尝试
import os
import glob
import pandas as pd
os.chdir("/mydir")

def merge_all_csv(extension='csv',final_file_name="final_csv"):
    all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
    #combine all files in the list
    combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ])
    #export to csv
    return combined_csv.to_csv( final_file_name, index=False, encoding='utf-8-sig')

merge_all_csv()