python xlwt写入数据超过范围限制_用xlrd包读取Excel文件-尽量不用xlwt包写入Excel文件最多能支持65536行数据。...

1. 引有包

import xlrd1

打开文件

data = good_ivy = xlrd.open_workbook(r'商品库存.xls')1

2

获取你要打开的sheet文件

# table = data.sheets()[0]

# print(table.nrows)

# 获取所有sheet

sheet_name = data.sheet_names()[0]

# 根据sheet索引或者名称获取sheet内容

sheet = data.sheet_by_index(0) # sheet索引从0开始1

2

3

4

5

6

7

8

获取指定单元格里面的值

sheet.cell_value(第几行,第几列)1

获取某行或者某列的值

print(sheet.row(0))

print('获取第二行的内容')

print(sheet.row(1))

# sheet.cell_value(第几行,第几列)

# 获取整行和整列的值(数组)

# rows = sheet.row_values(1) # 获取第2行内容

# cols = sheet.col_values(2) # 获取第3列内容

print(sheet.row_values(1, 0, 10)) #获取第二行,从第一列到第10列的值,不包括第10列

# sheet的名称,行数,列数

print(sheet.name, sheet.nrows, sheet.ncols)1

2

3

4

5

6

7

8

9

10

github https://github.com/ln0491/python_learning

C、尽量不用xlwt包写入Excel文件

I、原因

在xlwt中生成的xls文件最多能支持65536行数据。

II、如果写入过多,会报错

由于数据太多,会报这个错误:

ValueError: row index (65536)not an intin range(65536)错误

xlwt写入文件

# !/usr/bin/python

# -*-coding:utf-8-*-

# @Author: 刘楠

# @Time: 2019/12/3 10:09

# @File : test01.py

import xlwt

# 1. 导入模块

import xlwt

def write_excel():

# 2. 创建Excel工作薄

myWorkbook = xlwt.Workbook()

# 3. 添加Excel工作表

mySheet = myWorkbook.add_sheet('A Test Sheet')

for i in range(0, 65536):

mySheet.write(i, 0, i)

mySheet.write(i, 1, i)

myWorkbook.save('xlwt_excelFile.xls')

if __name__ == '__main__':

# 写入Excel

write_excel()

print('写入成功')1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

xlsxwriter

# !/usr/bin/python

# -*-coding:utf-8-*-

# @Author: 刘楠

# @Time: 2019/12/3 11:26

# @File : test01.py

import xlsxwriter

# 写excel

def write_excel():

workbook = xlsxwriter.Workbook('chat.xlsx') # 创建一个excel文件

worksheet = workbook.add_worksheet(u'sheet1') # 在文件中创建一个名为TEST的sheet,不加名字默认为sheet1

worksheet.set_column('A:A', 20) # 设置第一列宽度为20像素

bold = workbook.add_format({'bold': True}) # 设置一个加粗的格式对象

worksheet.write('A1', 'HELLO') # 在A1单元格写上HELLO

worksheet.write('A2', 'WORLD', bold) # 在A2上写上WORLD,并且设置为加粗

worksheet.write('B2', U'中文测试', bold) # 在B2上写上中文加粗

worksheet.write(2, 0, 32) # 使用行列的方式写上数字32,35,5

worksheet.write(3, 0, 35.5) # 使用行列的时候第一行起始为0,所以2,0代表着第三行的第一列,等价于A4

worksheet.write(4, 0, '=SUM(A3:A4)') # 写上excel公式

workbook.close()

if __name__ == '__main__':

# 写入Excel

write_excel();

print('写入成功')1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值