您有一组 2000 个 CSV 文件,您想将它们合并成一个文件。这些文件具有相同的格式,并且您希望将每个标识符(前六位代码)的所有文件合并成一个文件。
- 解决方案
您可以使用 Python 的 csv 模块来合并 CSV 文件。该模块提供了一个简单的 API 来读取和写入 CSV 文件。
以下是如何使用 csv 模块合并 CSV 文件集的示例代码:
import csv
import glob
# 获取要合并的文件列表
filenames = glob.glob('*.csv')
# 创建一个新的 CSV 文件来存储合并后的数据
with open('merged.csv', 'w', newline='') as merged_file:
# 创建一个 CSV 写入器
csv_writer = csv.writer(merged_file)
# 循环遍历要合并的文件
for filename in filenames:
# 打开要合并的文件
with open(filename, 'r') as csv_file:
# 创建一个 CSV 阅读器
csv_reader = csv.reader(csv_file)
# 循环遍历要合并的文件中的每一行
for row in csv_reader:
# 将当前行写入合并后的文件中
csv_writer.writerow(row)
这段代码将打开所有要合并的文件,并将其逐行写入合并后的文件中。合并后的文件将保存在 merged.csv 文件中。
您还可以使用 csv 模块来合并具有不同格式的文件。以下是如何使用 csv 模块合并具有不同格式的文件的示例代码:
import csv
import glob
# 获取要合并的文件列表
filenames = glob.glob('*.csv')
# 创建一个新的 CSV 文件来存储合并后的数据
with open('merged.csv', 'w', newline='') as merged_file:
# 创建一个 CSV 写入器
csv_writer = csv.writer(merged_file)
# 循环遍历要合并的文件
for filename in filenames:
# 打开要合并的文件
with open(filename, 'r') as csv_file:
# 创建一个 CSV 阅读器
csv_reader = csv.reader(csv_file)
# 获取文件的头信息
header = next(csv_reader)
# 将文件的头信息写入合并后的文件中
csv_writer.writerow(header)
# 循环遍历要合并的文件中的每一行
for row in csv_reader:
# 将当前行写入合并后的文件中
csv_writer.writerow(row)
这段代码将打开所有要合并的文件,并将其逐行写入合并后的文件中。合并后的文件将保存在 merged.csv 文件中。
您还可以使用 csv 模块来合并具有不同分隔符的文件。以下是如何使用 csv 模块合并具有不同分隔符的文件的示例代码:
import csv
import glob
# 获取要合并的文件列表
filenames = glob.glob('*.csv')
# 创建一个新的 CSV 文件来存储合并后的数据
with open('merged.csv', 'w', newline='') as merged_file:
# 创建一个 CSV 写入器
csv_writer = csv.writer(merged_file)
# 循环遍历要合并的文件
for filename in filenames:
# 打开要合并的文件
with open(filename, 'r') as csv_file:
# 创建一个 CSV 阅读器
csv_reader = csv.reader(csv_file, delimiter=',')
# 获取文件的头信息
header = next(csv_reader)
# 将文件的头信息写入合并后的文件中
csv_writer.writerow(header)
# 循环遍历要合并的文件中的每一行
for row in csv_reader:
# 将当前行写入合并后的文件中
csv_writer.writerow(row)
这段代码将打开所有要合并的文件,并将其逐行写入合并后的文件中。合并后的文件将保存在 merged.csv 文件中。