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