python3上Excel文件操做的庫比較多,新手一開始不知道如何選擇合適的庫,故整理以下:html
xlwt
: 只能寫不能讀,只支持python2.3到python2.7版本,只支持xls文件。xlrd
:只能讀不能寫xlutils
:修改並保存openpyxl
:能夠實現對xlsx格式的讀、寫、修改,支持python3.x。我的推薦這個庫# 打開文件 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))
# 打開文件 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")
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="test") # 方式二:能夠附加行,從第一列開始附加(從最下方空白處,最左開始)(能夠輸入多行) ws.append([1, 2, 3]) # 方式三:Python 類型會被自動轉換 ws['A3'] = datetime.datetime.now().strftime("%Y-%m-%d") # 5.保存數據 wb.save('文件名稱.xlsx')