Python使⽤openpyxl操作模块实现excel的读取,以及原有表
格追加数据
最近在写⼀个爬⾍,爬下来的数据存储到Excel中,最开始使⽤xlwt和xlrd这两个模块配合使⽤对Excel创建和写⼊和追加操作,但是有⼀个弊端就是数据⼤约超过65000就会报错的
报错:
ValueError: row index was 65536, not allowed by .xls format
解决⽅案:
xlrd和xlwt处理的是xls⽂件,单个sheet最⼤⾏数是65535,如果有更⼤需要的,建议使⽤openpyxl函数,最⼤⾏数达到1048576。
如果数据量超过65535就会遇到:ValueError: row index was 65536, not allowed by .xls format
所以才不得不使⽤openpyxl这个模块,推荐使⽤,因为⾃我感觉字体更美观,好像性能也提⾼了
1:安装openpyxl
pip install openpyxl
2:写⼊操作
#openpyxl写数据
import openpyxl    #导⼊openpyxl模块
wb = openpyxl.Workbook()  #创建空的Excel⽂件
sheet = wb.active        #获取⼯作簿的活动表,通常是第⼀个⼯作表
sheet.title = '⾼管'    #给⼯作表命名
python怎么读取excel文件数据#这个可以理解是表头
sheet['A1'] = '公司名称'
sheet['B1'] = '姓名'
sheet['C1'] = '职务'
sheet['D1'] = '学历'
sheet['E1'] = '薪酬'
sheet['F1'] = '持股'
sheet['G1'] = '年龄'
sheet['H1'] = '任期'
#单⾏数据的写⼊
row = ['写⼊','读取','模块']      #创建⼀个列表⽤以批量写⼊
sheet.append(row)      #append将数据写⼊单元格中
#多⾏数据的写⼊,以列表进⾏分开,最后写⼊⼤列表
rows = [['写⼊','读取','模块'],['怪物','格格不⼊','同类', '经典','⼈物']]
for i in rows:
sheet.append(i)          #遍历rows,同时把遍历的内容添加到表格⾥,这样就实现了多⾏写⼊。
wb.save('⾼管.xlsx')            #保存新建的Excel⽂件,并命名为“测试.xlsx”
3:已存在excel表追加数据
# 导⼊模块
import openpyxl
# 已存在的Excel⽂件的路径,根据需要修改路径
filepath = '⾼管.xlsx'
wb = openpyxl.load_workbook(filepath)
ws = wb['⾼管']
# 创建⽂件的时候title名字  sheet.title = '⾼管' 必须要对应,忘记了请看上⾯
# 或者你还可以 print(wb.sheetnames) 把所有⼦表的名字并打印出来
ws = wb['sheet2']
#待填充数据
data = [[1,2,3],[4,5,6]]
for x in data:
ws.append(x)
savename = 'update_excel.xlsx'  #保存路径你可以写新路径,当然也可以写创建⽂件的路径,数据会追加进去wb.save(savename)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。