公司网站打不开怎么办,佛山网站优化美姿姿seo,测速网站怎么做,建站网站破解版目录
一、写入
1.1 安装 xlwt
1.2 增加sheet页
1.2.1 新建sheet页
1.2.2 sheet页写入数据
1.2.3 excel保存
1.2.4 完整代码
1.2.5 同一坐标#xff0c;重复写入
二、读取
2.1 安装读取模块
2.2 读取sheet页
2.2.1 序号读取shee页
2.2.2 通过sheet页的名称读取she…目录
一、写入
1.1 安装 xlwt
1.2 增加sheet页
1.2.1 新建sheet页
1.2.2 sheet页写入数据
1.2.3 excel保存
1.2.4 完整代码
1.2.5 同一坐标重复写入
二、读取
2.1 安装读取模块
2.2 读取sheet页
2.2.1 序号读取shee页
2.2.2 通过sheet页的名称读取sheet页
2.2.3 打印出表格中数据最远的行数和列数
2.2.3.1 打印最远行数
2.2.3.2 打印列数(用得不多
2.2.4 循环获取行的数据
三、修改
3.1 安装修改模块
3.2 copy读取到的sheet页并修改 一、写入
1.1 安装 xlwt 安装指令pip install xlwt 安装完成导入xlwt后xlwt中有一个函数Workbook()
Workbook()函数以变量进行储存
rt xlwt
excel xlwt.Workbook() 1.2 增加sheet页
1.2.1 新建sheet页 excel.add_sheet(参数1,参数2) 参数1sheet页名称 参数2是否允许覆盖默认为false可不写 # excel.add_sheet(login) # 登录sheet页
# 并把该sheet页赋值给一个变量
sheet excel.add_sheet(login)
此时需要往sheet页中写入内容 1.2.2 sheet页写入数据 存储sheet页的变量.write(行,列,内容) 行和列的序号从 0 开始 例如在第二行第三列的单元格中输入 HelloWord
excel.write(2,3,HelloWord) # 这是错误的写法会报错没有这个write方法
sheet.write(2,3,HelloWord)
在完成写入后需要对excel进行保存 1.2.3 excel保存 excel.save(参数1) 参数1保存的文件路径确定到文件名,路径为绝对路径 excel文件的后缀有两个格式xls、xlsx excel.save(D:/Test/test01.xlsx)
这里创建一个excel表格在D盘Test目录下把上面sheet页的数据写入到该表格中 1.2.4 完整代码
# codingutf-8
import xlwt
excel xlwt.Workbook()
sheet excel.add_sheet(login)
sheet.write(2, 3, HelloWord) # 序号从0开始
excel.save(D:/Test/test01.xlsx)1.2.5 同一坐标重复写入
如果在第二行第三列的位置中再次进行一次输入
sheet.write(2, 3, HelloWord)
sheet.write(2, 3, Python)
那么则会出现一个单元格覆盖错误的问题以及单元格的覆盖写入是否OK
如果需要允许覆盖写入就需要在sheet页后面添加允许覆盖写入的参数 sheet页变量 excel.add_sheet(sheet页名,cell_overwrite_oktrue) sheet excel.add_sheet(login, cell_overwrite_okTrue)
完整代码
sheet excel.add_sheet(login, cell_overwrite_okTrue)
sheet.write(2, 3, HelloWord)
sheet.write(2, 3, Python) 二、读取
2.1 安装读取模块 执行指令pip install xlrd 安装完xlrd后需要进行导入然后进行读取文件
import xlrd
xlrd.open_workbook(读取的文件名称)
文件的名称可以用变量进行存储
import xlrd
filename D:/Test/test01.xlsx
excel xlrd.open_workbook(filename) 2.2 读取sheet页
读取sheet页可以通过名称和序号进行读取但是建议通过名称进行读取序号可能会因其他原因发生改变 2.2.1 序号读取shee页 序号读取语法excel.sheet_by_index(序号) 序号从0开始 可以测试打印一下
# 读取sheet页
sheet excel.sheet_by_index(1)
print(sheet)
运行发生报错list index out of range
报错我提供的序号已经超出了这个sheet的序号
打开写操作的excel表底部是只有一个sheet 那么序号应该是从 0 开始
sheet excel.sheet_by_index(0)
print(sheet)
打印结果Sheet 0: 2.2.2 通过sheet页的名称读取sheet页 语法excel.sheet_by_name(sheet名) # 通过名称的方式获取sheet页
sheet excel.sheet_by_name(login)
print(sheet)
# 打印结果Sheet 0:login 2.2.3 打印出表格中数据最远的行数和列数 2.2.3.1 打印最远行数 执行语句sheet.nrows # 通过名称的方式获取sheet页
sheet excel.sheet_by_name(login)
print(sheet.nrows) # 第八行
此处的行和列则从1开始 2.2.3.2 打印列数(用得不多 语法sheet.ncols sheet excel.sheet_by_name(login)
print(sheet.ncols) # 5 2.2.4 循环获取行的数据 循环的范围是sheet.nrows 函数 1、sheet.row_values(i):获取每一行的值每一次随着i的值发生变化读取到的数据被list类型存储 执行循环并把sheet.row_values(i)获取到的数据存入变量rv中
打印值和type
nr sheet.nrows
for i in range(nr): # 8行循环八次# 每次循环拿到一行的数据rv sheet.row_values(i)print(rv, type(rv))[, , , , ] class list
[, , , , ] class list
[, , , Python, ] class list
[, , , , ] class list
[, , , Hello, Vue] class list
[, , , , ] class list
[, , , , ] class list
[, World, , , ] class list 如果表单元格中有数字存在则修改为文本格式右键--单元格格式--文本--确定
手机号、数值、日期等也excek中转为文本类型
↑以上内容为单行读取
↓行内单独提取索引值
在上述内容中通过循环sheet页的最大值获取到每一行的数据此时也可以直接去通过索引赋值
nr sheet.nrows
for i in range(nr): # 8行循环八次# 每次循环拿到一行的数据rv sheet.row_values(i)a, b, c, d, e rv[0], rv[1], rv[2], rv[3], rv[4]print(f{a},{b},{c},{d},{e}),,,,
,,,,
,,,Python,
,,,,
,,,Hello,Vue
,,,,
,,,,
,World,,,三、修改
3.1 安装修改模块 指令pip install xlutils 导入修改的模块
from xlutils.copy import copy
# 导入的是xlutils中的copy模块
要进行修改模块就需要先读取再修改
再添加读取模块
# 1、导入修改模块
from xlutils.copy import copy
# 2、导入读取模块读取文件
import xlrd
filename D:/Test/test01.xlsx
excel xlrd.open_workbook(filename)
而要进行的修改操作是把原有的sheet页进行copy后再新的表进行修改 3.2 copy读取到的sheet页并修改 # 复制
new_excel copy(excel)
# 读取到修改以后的excel赋值到新的变量去修改内容
sheet new_excel.get_sheet(0)
# 在获取到的序列写入新的内容(修改Python的值)
sheet.write(2, 3, JavaScript)
# 保存以新的excel保存
# 如果是原地址则是保存否则是另存为
new_excel.save(D:/Test/test02.xlsx)
如果保存的路径是其他的则会另存为一个新的