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.遍歷單元格
for row in ws.rows:
for cell in row:
print(cell.value)
# 4.存盤資料
# 方式一:資料可以直接分配到單元格中(可以輸入公式)
ws['A1'] = 42
ws.cell(row=1,column=2, value="https://www.cnblogs.com/amyzhu/p/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
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/241734.html
標籤:Python
