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

python对Excel表格操作

操作场景,给一个Excel表格随机生成10万个手机号码

python中常见的对Excel操作模块

xlwt module 将数据写入Excel表

xlrd module 读取Excel表格

xlsxwriter modole  xlwt模块的升级版,用于处理大量数据

先用xlwt写入Excel操作

import xlwt # 将数据写入Excel
import random


book = xlwt.Workbook(encoding='utf-8',style_compression=0) # 创建workbook对象,设置编码格式
worksheet = book.add_sheet('test',cell_overwrite_ok=True) # 创建一个sheet对象,cell_overwrite_ok表示可以覆盖单元格
worksheet.write(0,0,'phone') # 在0,0位置写入phone,前面0代表列,后面0代表行

# 手机开头号码
prelist = ["130","131","132","133","134","135","136","137","138","139","147","150","151","152","153","155","156","157","158","159","186","187","188"]
nums = 0
for i in range(100000):
    # 组合成一个11位手机号码
    phones = random.choice(prelist)+"".join(random.choice("0123456789") for i in range(8))
    nums += 1
    worksheet.write(nums,0,phones)

book.save(r'D:\python\test.xls')

执行后发现报错:ValueError: row index was 65536, not allowed by .xls format

原因是xlwt修改xls数据最多只能修改到65536行,所以只能使用新的模块xlsxwriter模块修改的文件是xlsx

用xlsxwriter模块修改Excel文件

import xlwt # 将数据写入Excel
import xlrd # 读取Excel文档
from xlutils.copy import copy
import xlsxwriter
import random


workbook = xlsxwriter.Workbook(r'D:\python\test.xlsx') # 创建Excel文件
worksheet = workbook.add_worksheet() # 创建一个sheet,不加名字默认sheet
worksheet.write(0,0,"phone")
# 手机开头号码
prelist = ["130","131","132","133","134","135","136","137","138","139","147","150","151","152","153","155","156","157","158","159","186","187","188"]
nums = 0
for i in range(100000):
    # 组合成一个11位手机号码
    phones = random.choice(prelist)+"".join(random.choice("0123456789") for i in range(8))
    nums += 1
    worksheet.write(nums,0,phones)

workbook.close()

 

转载于:https://www.cnblogs.com/lumama520/p/10734894.html

相关文章:

  • 流程控制之if判断
  • SpringBoot简单入门
  • Request的方法和数组
  • 关闭Linux中的iptables,firewalld,SELINUX
  • 字典类型内置方法
  • Python爬虫入门教程 61-100 写个爬虫碰到反爬了,动手破坏它!
  • 青柠音乐搜索下载2.0.1(PC软件)
  • postgres读写性能测试(本地、NFS)
  • UCML JS函数说明
  • 【剑指Offer】13、调整数组顺序使奇数位于偶数前面
  • 【2019计划】想要变得优秀 顺其自然是不可能的。
  • 常见跨域解决方案
  • 前端工程化
  • 【AtCoder】ARC071
  • [Markdown] 02 简单应用 第二弹
  • java多线程
  • JAVA多线程机制解析-volatilesynchronized
  • js学习笔记
  • mysql常用命令汇总
  • 订阅Forge Viewer所有的事件
  • 今年的LC3大会没了?
  • 力扣(LeetCode)22
  • 前端面试题总结
  • 悄悄地说一个bug
  • 使用 Docker 部署 Spring Boot项目
  • 使用SAX解析XML
  • 小而合理的前端理论:rscss和rsjs
  •  一套莫尔斯电报听写、翻译系统
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 阿里云服务器如何修改远程端口?
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • 选择阿里云数据库HBase版十大理由
  • ​secrets --- 生成管理密码的安全随机数​
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (转)http-server应用
  • (转)Scala的“=”符号简介
  • (转载)虚函数剖析
  • .cn根服务器被攻击之后
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET Framework 服务实现监控可观测性最佳实践
  • .net mvc部分视图
  • .Net 应用中使用dot trace进行性能诊断
  • .NET多线程执行函数
  • .net专家(张羿专栏)
  • @Transactional 详解
  • [Android]Tool-Systrace
  • [AX]AX2012 R2 出差申请和支出报告
  • [BZOJ2208][Jsoi2010]连通数