python3.10
Win10专业版
如何用python脚本把一个表格有4万多条数据分为两个文件表,每个2万条数据?
你想用 Python 脚本把一个包含 4 万多条数据的表格(假设是 CSV 或 Excel 格式)拆分成两个文件,每个文件约 2 万条数据。下面给你一个示例脚本,支持 CSV 和 Excel,方便你根据实际文件格式做调整。
假设输入文件是 input.csv,输出拆分成 output_part1.csv 和 output_part2.csv。
import csv input_file = 'input.csv' output_file_1 = 'output_part1.csv' output_file_2 = 'output_part2.csv' # 读取所有数据 with open(input_file, newline='', encoding='utf-8') as f_in: reader = csv.reader(f_in) header = next(reader) # 读取表头 rows = list(reader) # 计算拆分点 split_index = 20000 # 分割数据 part1 = rows[:split_index] part2 = rows[split_index:] # 写入第一个文件 with open(output_file_1, 'w', newline='', encoding='utf-8') as f_out1: writer = csv.writer(f_out1) writer.writerow(header) writer.writerows(part1) # 写入第二个文件 with open(output_file_2, 'w', newline='', encoding='utf-8') as f_out2: writer = csv.writer(f_out2) writer.writerow(header) writer.writerows(part2) print(f"拆分完成:{len(part1)} 条数据写入 {output_file_1},{len(part2)} 条写入 {output_file_2}")
需要先安装 openpyxl
:
pip install openpyxl
示例代码:
import openpyxl input_file = 'input.xlsx' output_file_1 = 'output_part1.xlsx' output_file_2 = 'output_part2.xlsx' wb = openpyxl.load_workbook(input_file) ws = wb.active # 读取所有行数据(包含表头) rows = list(ws.values) header = rows[0] data_rows = rows[1:] split_index = 20000 part1 = data_rows[:split_index] part2 = data_rows[split_index:] def save_excel(filename, header, data): wb_new = openpyxl.Workbook() ws_new = wb_new.active ws_new.append(header) for row in data: ws_new.append(row) wb_new.save(filename) save_excel(output_file_1, header, part1) save_excel(output_file_2, header, part2) print(f"拆分完成:{len(part1)} 条数据写入 {output_file_1},{len(part2)} 条写入 {output_file_2}")
input_file
为你的文件名。