如何用python脚本把一个表格有4万多条数据分为两个文件表,每个2万条数据?
环境:
python3.10
Win10专业版
问题描述:
如何用python脚本把一个表格有4万多条数据分为两个文件表,每个2万条数据?
解决方案:
你想用 Python 脚本把一个包含 4 万多条数据的表格(假设是 CSV 或 Excel 格式)拆分成两个文件,每个文件约 2 万条数据。下面给你一个示例脚本,支持 CSV 和 Excel,方便你根据实际文件格式做调整。
示例代码(以 CSV 为例)
假设输入文件是 input.csv
,输出拆分成 output_part1.csv
和 output_part2.csv
。
import csvinput_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}")
如果是 Excel 文件(例如 .xlsx
)
需要先安装 openpyxl
:
pip install openpyxl
示例代码:
import openpyxlinput_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.activews_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
为你的文件名。 - 确认文件格式后,选择合适的脚本(CSV 或 Excel)。
- 运行脚本即可拆分。