Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何合并和格式化多个csv文件中的列元素,并将其转储到新的csv文件中_Python_Pandas_Shell_Csv - Fatal编程技术网

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

Python 如何合并和格式化多个csv文件中的列元素,并将其转储到新的csv文件中,python,pandas,shell,csv,Python,Pandas,Shell,Csv,我有多个CSV文件。它们都有一个id列 在A.csv中 ID --- 01487 01986 01478 在b.csv中 ID --- 01578 01568 01478 我想从这些CSV文件创建一个CSV,其中 c、 csv 我见过按列连接,但我希望我的所有id都在同一列中。 我见过panda连接,但不能像这样格式化。欢迎任何基于python panda的解决方案或shell命令解决方案在shell中使用以下代码: cat a.csv >> c.scv tail -n 2 b.

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

在A.csv中

ID
---
01487
01986
01478
在b.csv中

ID
---
01578
01568
01478
我想从这些CSV文件创建一个CSV,其中 c、 csv

我见过按列连接,但我希望我的所有id都在同一列中。
我见过panda连接,但不能像这样格式化。欢迎任何基于python panda的解决方案或shell命令解决方案在shell中使用以下代码:

cat a.csv >> c.scv
tail -n 2 b.csv >> c.csv
你能试试下面吗
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()

您是列表中的数据帧吗?只要调用,假设列表被调用
dfs
call
pd.concat(dfs)
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()