以下是使用Python复制和合并CSV文件的示例代码:

import csv
import os

# 设置源CSV文件夹和目标CSV文件夹
source_folder = './source_csv'
target_folder = './target_csv'

# 设置要复制的CSV文件名列表和复制的副本数量
csv_file_names = ['file1.csv', 'file2.csv', 'file3.csv']
num_copies = 3

# 复制CSV文件
for csv_file_name in csv_file_names:
    # 创建目标CSV文件夹
    if not os.path.exists(target_folder):
        os.makedirs(target_folder)
    
    # 逐个复制CSV文件
    for i in range(num_copies):
        source_file_path = os.path.join(source_folder, csv_file_name)
        target_file_path = os.path.join(target_folder, f'{csv_file_name[:-4]}_{i+1}.csv')
        with open(source_file_path, 'r', newline='') as source_file, open(target_file_path, 'w', newline='') as target_file:
            csv_reader = csv.reader(source_file)
            csv_writer = csv.writer(target_file)
            for row in csv_reader:
                csv_writer.writerow(row)

# 合并CSV文件
merged_csv_file_path = os.path.join(target_folder, 'merged_file.csv')
with open(merged_csv_file_path, 'w', newline='') as merged_file:
    csv_writer = csv.writer(merged_file)
    # 逐个读取CSV文件并合并
    for csv_file_name in csv_file_names:
        for i in range(num_copies):
            source_file_path = os.path.join(target_folder, f'{csv_file_name[:-4]}_{i+1}.csv')
            with open(source_file_path, 'r', newline='') as source_file:
                csv_reader = csv.reader(source_file)
                for row in csv_reader:
                    csv_writer.writerow(row)
            # 删除每个副本文件
            os.remove(source_file_path)

上述代码将从./source_csv文件夹中复制file1.csvfile2.csvfile3.csv三个CSV文件,复制每个文件的副本数量为3,也就是说每个CSV文件将复制3份。然后将这些副本CSV文件合并为一个CSV文件,并将合并后的文件保存在./target_csv/merged_file.csv中。最后,删除所有副本文件。

Python将CSV文件批量复制多份并在最后合并

原文地址: https://www.cveoy.top/t/topic/bmnY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录