1. 程式人生 > 其它 >同步synchronized(class)程式碼塊可以對類的所有物件例項起作用——T2216

同步synchronized(class)程式碼塊可以對類的所有物件例項起作用——T2216

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)

然後,執行了上述操作,都是在記憶體中進行,如果不寫回磁碟是不會儲存的。