在新的行中结合csv和Python

2024-10-16 17:28:19 发布

您现在位置:Python中文网/ 问答频道 /正文

Iam试图连接多个csv,但输出文件的所有数据都在一行中。如何在输出时添加新行字符。这是我的一个示例代码

from os import chdir
from glob import glob
import pandas as pdlib

# Produce a single CSV after combining all files
def produceOneCSV(list_of_files, file_out):
   # Consolidate all CSV files into one object
   result_obj = pdlib.concat([pdlib.read_csv(file) for file in list_of_files], sort=False)
   # Convert the above object into a csv file and export

   result_obj.to_csv(file_out, index=False, encoding="utf-8")

# Move to the path that holds our CSV files
csv_file_path = 'Path_for_all_the_csv/'
chdir(csv_file_path)

# List all CSV files in the working dir
file_pattern = ".csv"
list_of_files = [file for file in glob('*.csv')]
print(list_of_files)

file_out = "ConsolidateOutput.csv"
produceOneCSV(list_of_files, file_out)

我遵循了文件https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.concat.html。但这对我不起作用。文件有什么变化吗


Tags: 文件ofcsvtheimportpandasforfiles
1条回答
网友
1楼 · 发布于 2024-10-16 17:28:19

您需要熊猫来连接一组CSV吗? 如果您使用的是linux,只需一个命令即可完成

$ cat *.csv > consolidated.csv

如果您想使用python

with open("consolidated.json", "w") as f:
    for ff in glob.glob("*.csv"):
        with open(ff) as fff:
            f.write(fff.read())

相关问题 更多 >