python3上Excel文档实际操作的库比较多,初学者一开始不清楚如何选择适合的库,故梳理以下:
-
xlwt
: 只有写不可以读 ,只支持python2.3到python2.7版本号,只支持xls文件。 -
xlrd
:只有读不可以写 -
xlutils
:改动并储存 -
openpyxl
:能够完成对xlsx文件格式的读、写、改动,支持python3.x。本人强烈推荐这一库
xlrd
# 打开文件 workbook1 = xlrd.open_workbook(user,formatting_info=False) # 获取全部sheet print("全部工作簿:",workbook1.sheet_names()) sheet1 = workbook1.sheet_by_index(0) # 获取整行的值 print(sheet1.row_values(0)) # 获取某一单元格的值 ,行 、列下标均从0开始 print(sheet.cell_value(row,line))
xlutils
# 打开文件 workbook1 = xlrd.open_workbook(user,formatting_info=False) workbook2 = copy(workbook1) # xlutils 获取 sheet sheet_new = workbook2.get_sheet(0) # 单元格升级,行、列均下标均从0开始 sheet_new.write(row,line,'根据') # 储存 workbook2.save("../testdata/result.xls")
Openpyxl
import openpyxl filename="../testdata/user.xlsx" # 1.打开文件 wb = openpyxl.load_workbook(filename,read_only=False) print(wb.sheetnames) # 2.挑选工作簿 ws = wb[wb.sheetnames[0]] print(ws) # 3.解析xml单元格 for row in ws.rows: for cell in row: print(cell.value) # 4.储存数据信息 # 方法一:数据信息能够立即分派到单元格中(能够键入公式计算) ws['A1'] = 42 ws.cell(row=1,column=2, value="test") # 方法二:能够额外行,从第一列刚开始额外(从最正下方空白 ,最左刚开始)(能够键入几行) ws.append([1, 2, 3]) # 方法三:Python 种类会被全自动变换 ws['A3'] = datetime.datetime.now().strftime("%Y-%m-%d") # 5.储存数据信息 wb.save('文件目录.xlsx')
参照:http://www.52codes.net/develop/shell/58896.html