文章目录
- 假设输入文件是 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}”)
目录
- 环境
- 问题描述
- 解决方案
- 示例代码(以 CSV 为例)
- 如果是 Excel 文件(例如 .xlsx)
- 使用说明
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 为你的文件名。
- 确认文件格式后,选择合适的脚本(CSV 或 Excel)。
- 运行脚本即可拆分。
input_file 为你的文件名。到此这篇关于python脚本实现将excel表格数据拆分成两个文件的文章就介绍到这了,更多相关python excel表格拆分内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!
您可能感兴趣的文章:
- Python将一个Excel拆分为多个Excel
- Python将Excel表格按某列拆分为多个sheet实现过程
- Python如何将一个EXCEL表拆分多个excel表
- Python实现批量Excel拆分功能
- Python实现将Sheet页拆分成单独的Excel文件