如何使用 Python 将多个 CSV 文件合并为一个大 CSV 文件 [重复]

问题描述 投票:0回答:1

我有一个 zip 文件,其中包含 70 多个 csv 文件。我想将所有这些文件中的信息合并到一个大的 csv 文件中。在Python中使用append方法会花费很长时间,因为我必须一个接一个地加载所有文件,然后对每个文件使用append。有没有其他方法可以使用 python 实现此目的,而无需逐个附加每个文件?

我尝试过在Python中使用append来合并文件中的信息,但这需要花费很多时间,因为我必须先加载70多个文件,然后一个接一个地附加。

我希望通过仅加载一次文件,然后使用 python 循环遍历每个文件并将每个 csv 文件中的信息合并到一个大 csv 文件中来减少所花费的时间。有什么方法可以实现这个目标吗?谢谢你

python python-3.x csv data-science
1个回答
0
投票

可以使用 CONCAT 函数来解决这个问题。

首先

import pandas as pd
import zipfile
import os

# Path to the zip file and
zip_file_path = 'path/to/your/zipfile.zip'
# Path to the directory you want to save the file
extraction_directory = 'path/to/extraction/directory'

# Extract the zip file
with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
    zip_ref.extractall(extraction_directory)

# Loops ,reads the CSV file and append it
csv_files = [f for f in os.listdir(extraction_directory) if f.endswith('.csv')]
dataframes = [pd.read_csv(os.path.join(extraction_directory, f)) for f in csv_files]

combined_csv = pd.concat(dataframe, ignore_index=True)

# Save the combined df to a new csv file
combined_csv.to_csv('path/to/combined_file.csv', index=False)
© www.soinside.com 2019 - 2024. All rights reserved.