当前位置: 首页 > news >正文

如何用python脚本把一个表格有4万多条数据分为两个文件表,每个2万条数据?

环境:

python3.10

Win10专业版

问题描述:

如何用python脚本把一个表格有4万多条数据分为两个文件表,每个2万条数据?

在这里插入图片描述

解决方案:

你想用 Python 脚本把一个包含 4 万多条数据的表格(假设是 CSV 或 Excel 格式)拆分成两个文件,每个文件约 2 万条数据。下面给你一个示例脚本,支持 CSV 和 Excel,方便你根据实际文件格式做调整。


示例代码(以 CSV 为例)

假设输入文件是 input.csv,输出拆分成 output_part1.csvoutput_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}")

在这里插入图片描述

使用说明

  1. 修改 input_file 为你的文件名。
  2. 确认文件格式后,选择合适的脚本(CSV 或 Excel)。
  3. 运行脚本即可拆分。

相关文章:

  • 华为云IoT平台与MicroPython实战:从MQTT协议到物联网设备开发
  • 基于PHP的宠物用品商城
  • TCL科技2025一季度归母净利润10.1亿,半导体显示业务业绩创新高
  • 大模型备案实操手册:材料准备、流程解析与常见问题避坑指南
  • Spark GraphX 机器学习:图计算
  • 数据库所有知识
  • 如何设计一个会员码表!唯一索引的使用,字段区分度不高如何处理
  • 【AI面试准备】深度学习、大模型原理,算法项目经验
  • jthread是否可以完全取代thread?
  • Java高频面试之并发编程-11
  • Git 操作命令
  • 1.PowerBi保姆级安装教程
  • 驱动开发硬核特训 · Day 24(下篇):深入理解 Linux 内核时钟子系统结构
  • PSO详解变体上新!新型混合蛾焰粒子群优化(MFPSO)算法
  • 如何搭建一个简单的文件服务器的方法
  • 使用 DBeaver 将数据从 PostgreSQL 导出到 SQLite
  • Kotlin 常见问题
  • 深度解析 MyBatis`@TableField(typeHandler = JacksonTypeHandler.class)`:优雅处理复杂数据存储
  • 从 BERT 到 GPT:Encoder 的 “全局视野” 如何喂饱 Decoder 的 “逐词纠结”
  • 【语法】C++继承中遇到的问题及解决方法
  • 民营经济促进法出台,自今年5月20日起施行
  • 一位排球青训教练的20年时光:努力提高女排球员成才率
  • 金科服务:大股东博裕资本提出无条件强制性现金要约收购,总代价约17.86亿港元
  • 葡萄牙总理:未来几小时内将全面恢复供电
  • 朝鲜证实出兵俄罗斯协助收复库尔斯克
  • 利物浦提前四轮英超夺冠,顶级联赛冠军数追平曼联