python操作xls、xlsx格式Excel笔记

用python操作xls、xlsx格式Excel方法:
1:用xlrd取,xlwt写(xls格式只能用这种方式,不支持openpyxl)
xlrd 取读 (所有数字均为下标)
data = xlrd.open_workbook("d:/Temp/PythonTest/b1.xls")
#所有sheet页名称
sheetNames = data.sheet_names()
#第 i sheet页全部数据
oneSheetData = data.sheets()[i]
#第 j 行数据
rowData = oneSheetData.row_values(j)
#第 k 列数据
colData = oneSheetData.col_values(k)
#总行数
rowNum = oneSheetData.nrows
#总列数
cloNum = oneSheetData.ncols
#单元格数据n:行,m:列
cellData = oneSheetData.cell(n,m).value
xlwt
1:修改
#复制已用xlrd读取的xsl文件--前面的data
from xlutils.copy import copy
workbook = copy(data)
#获取对应的sheet页
wbSheet = workbook.get_sheet(i)

2:新建
#打开工作空间
workBook = xlwt.Workbook(encoding="UTF-8")
#添加sheet页,并命名
wbSheet = workBook.add_sheet("sheetName")

3:写入
#写入对应的单元格数据
wbSheet.write(x,y,"text")
#保存(完整的路径及名称,修改时,文件名不要变;新建时用新的文件名)
workbook.save("d:/Temp/PythonTest/b1.xls")

2用openpyxl操作:
openpyxl 取读
workbook = openpyxl.load_workbook("d:/Temp/PythonTest/a1.xlsx")
# 获取当前活跃sheet页,默认第一个sheet
# wbSheet = workbook.active
#获取所有sheet页名称
sheetAllName = workbook.get_sheet_names()
#根据sheet页名称获取sheet页
wbSheet = workbook.get_sheet_by_name(sheetAllName[i])
#获取sheet页所有的行
rowsData = wbSheet.rows
#获取sheet页所有的列
columnsData = wbSheet.columns
#单元格数据n:行,m:列
cellData = wbSheet.cell(n,m).value
#用表格表格编号获取
cellData = wbSheet.cell("A1").value
写入
1:修改
#已取读的sheet页可以用[坐标].value = 值 来修改
wbSheet["A3"].value = "text"
#插入一列数据
wbSheet.append([])
#保存(完整的路径及名称,修改时,文件名不要变;新建时用新的文件名)
workbook.save("‪d:/Temp/PythonTest/a1.xlsx")

2:新建
#打开工作空间
workBook = openpyxl.Workbook()
#然后取读sheet页
wbSheet = workbook.active
#执行修改步骤添加数据
#保存(完整的路径及名称,修改时,文件名不要变;新建时用新的文件名)
workbook.save("‪d:/Temp/PythonTest/a2.xlsx")

注意:
python打开文件报错OSError: [Errno 22] Invalid argument:时
1、用/代替\\
2、盘符换成小写D:->d:

猜你喜欢

转载自blog.csdn.net/zhxpingmiss/article/details/78705004