from openpyxl import Workbook
wb = Workbook()
print(wb.active)
sheet = wb.active
sheet.title = "fangchen1"
wb.save("excelTest.xlsx")
wb = Workbook() 在內存中創建一個excel表格
wb.active 就是這個高亮的
這個表格賦值給sheet
然後sheet.title = "fangchen1"就是改名成fangchen1
wb.save("excelTest.xlsx") 注意前面是在內存中創建的,只有save之後才會放到磁盤中,相當於另存為了。然後就會發現當前目錄下有一個excelTest.xlsx的文件
單元格操作遍歷
1.打開excel表格
from openpyxl import load_workbook
wb = load_workbook("excelTest.xlsx")
2.選中那個sheet
print(wb.sheetnames)
#sheet = wb.get_sheet_by_name("Sheet1")
sheet = wb["Sheet1"]
print之後會出現sheet的名稱
第二行的代碼可以選中sheet,但是python好像不推薦使用,出現了警告信息
使用第三行的可以選中sheet,通過名字
以下代碼是對某單元格操作,賦值,打印,注意第二行和第三行的是打印不同的東西
sheet["B3"] = "fangchen"
print(sheet["B3"])
print(sheet["B3"].value)
遍歷選定單元格
#打印從A1:A10單元格的數據
for cell in sheet["A1:A10"]:
cell[0].value = "fangchen"
print(cell[0].value)
遍歷整個表格
for row in sheet:
for cell in row:
print(cell.value,end=",")
print()
第二行到第五行,每行打印五個
for row in sheet.iter_rows(min_row = 2,max_row = 5,max_col = 5):
for cell in row:
cell.value = "chengyichen"
按列循環遍歷
#按列循環
for col in sheet.columns:
for cell in col:
print(cell.value,end=',')
print()
打印指定列,剛學python,沒怎麼玩過,試了一下這個max_col和min_col可以換位置,但是不可以打錯名字。還有那iter_cols不可以打錯
for col in sheet.iter_cols(max_col = 3,min_col = 1,max_row = 5):
for cell in col:
print(cell.value)
刪除單元格
for col in sheet.iter_cols(max_col = 3,min_col = 1,min_row = 1,max_row = 5):
for cell in col:
print(cell.value)
wb.remove(sheet)
然後,執行了上述操作,都是在內存中進行,如果不寫回磁盤是不會保存的。