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

时间: 2024-10-29 06:19:09

python对Excel表格操作的相关文章

python之excel表格操作

# coding: utf-8 #==================================================================================# Author: changbo - EMail:[email protected] #Last modified:2017-4-8 #filename:run_status.py #Description:create file 952700000ACH5Q05运行情况, Base xlswrit

python读取excel表格生成sql语句 第一版

由于单位设计数据库表·,都用sql.不知道什么原因不用 powerdesign或者ermaster工具,建表很痛苦  作为程序猿当然要想办法解决,用Python写一个程序解决 需要用到 xlrd linux下 sudo pip install xlrd 主要是适用于db2数据库 excel 表结构 其中 number是不正确的字段类型 不知道同事为啥这么设置.这里程序里有纠错,这个程序就是将sql语句拼好. __author__ = 'c3t' # coding:utf-8 import xlr

Python:读取Excel表格时出现的u'\u51c6’ 无法正确显示汉字

读取Excel后,想显示其中一行的元素,结果读出来是这样[u'\u51c6\u8003\u8bc1\u53f7', u'\u8003\u751f\u59d3\u540d'],始终不显示正常的汉字 依照网上的方法直接print()即可输出,试验后发现确实可以,不过一次只能输出一个元素,多余一个元素则依旧 后查找得知解决方法:需要用到json库 1 import json 2 #……文件的读取略去 3 #json.dumps(A).decode("unicode-escape") 4 #这

Python处理Excel表格

对于操作Excel,需要Xlrd/xlwt这两个模块,下面推荐出系统性学习的网址: python操作Excel读写--使用xlrd 官方文档 Python 使用 Xlrd/xlwt 操作 Excel 用Python读写Excel文件 1 Windows下先下载 xlwt 和xlrd 2. 解压xlrd-0.9.2.tar.gz至指定文件夹 3. 在CMD控制台下切换至上述指定文件夹路径,输入命令 python setup.py install 完成安装 Linux下安装同安装python 或者用

Python读写excel表格的方法

目的:实现用python做excel的读取.新增.修改操作. 环境:ubuntu 16.04  Python 3.5.2 用python读写文档,一般是操作txt文件或者可以用记事本打开的文件,因为这个操作很直接,不需要导入其他模块,但如果想要对excel表格进行操作,就需要导入其他模块,包括:xlrd(读取),xlwt(写入),xlutils(复制),一般是这三个模块,且需要另外下载,http://pypi.python.org/pypi/模块名. 表格的读取: 读取只需要导入xlrd模块:

python中excel表格的读写

1 #!usr/bin/env python 2 #-*- coding:utf-8 -*- 3 import xlrd 4 import xlwt 5 from xlutils.copy import copy 6 import os 7 8 data = xlrd.open_workbook('M3000.xls') #打开一个excel表格 9 table = data.sheets()[0] #通过该方法读取的sheet是只读的,不能进行写操作 10 rows = table.nrows

python中Excel表操作

python中关于excel表个的操作 使用 python中的xlwt和xlrd模块进行操作 # 2003之前:Excel:xls# 2003之后:Excel:xlsx# xlrd:读取的模块:xls,xlsx# xlwt:写分模块:xls# openpyxl:既能读也能写,只能操作xlsx 所以后面一般操作excel表格最好是使用openpyxl进行操作 # encoding=utf-8 import time import xlrd import xlwt import openpyxl i

python读写excel表格2

"""之前我们学习了使用xlrd 和xlwt 这两个模块来来分别读写操作excel表格固然可以实现功能,具体做法可以参加之前的上一篇博客现在我们找到了另一个模块:openpyxl 这个模块可以同时对excel 表进行读写更加的方便,实用,而且使用起来更加的简单,具体的做法如下:"""from openpyxl import load_workbook exel = load_workbook(r"C:\Users\DELL\Deskto

DB2数据库表转为excel表格操作

从db2中导出表有种方法很简单,时间长的程序员都接触过吧.之前遇到这个问题从网上找不到合适的答案,今天分享出来希望可以帮到需要的同行. 因为我家里没装db2  所以以mysql界面为例子.操作很简单对结果没影响. 在db2 写sql语句.select * from 表名得到你需要的数据.选中需要的内容    Ctrl + C 复制后,找到Excel表格. 点击此处的常规选择文本选项. 再Ctrl +V复制即可.本人试过完美解决,希望亲身的经历能帮到一起努力的你!!