使用Python迭代地从大型.csv文件中提取数据并保存为.csv块可以通过以下步骤实现:
以下是一个示例代码:
import csv
import os
def extract_data_from_large_csv(input_file, output_folder, block_size):
with open(input_file, 'r') as file:
reader = csv.reader(file)
header = next(reader) # 读取并保存头部信息
output_count = 1
output_file = os.path.join(output_folder, f'output_{output_count}.csv')
output = open(output_file, 'w', newline='')
writer = csv.writer(output)
writer.writerow(header) # 写入头部信息
row_count = 0
for row in reader:
writer.writerow(row)
row_count += 1
if row_count >= block_size:
output.close()
output_count += 1
output_file = os.path.join(output_folder, f'output_{output_count}.csv')
output = open(output_file, 'w', newline='')
writer = csv.writer(output)
writer.writerow(header) # 写入头部信息
row_count = 0
output.close()
return output_folder
使用示例:
input_file = 'path/to/large_file.csv'
output_folder = 'path/to/output_folder'
block_size = 10000
extract_data_from_large_csv(input_file, output_folder, block_size)
这个函数将大型.csv文件分成多个块,每个块包含指定数量的行。每个块都保存为一个单独的.csv文件,并在输出文件夹中命名为"output_1.csv"、"output_2.csv"等。函数返回输出文件夹路径,以便进一步处理这些块文件。
注意:这个示例代码仅提供了一个基本的实现思路,实际应用中可能需要根据具体需求进行适当的修改和优化。
领取专属 10元无门槛券
手把手带您无忧上云