簡體   English   中英

Python:如何使用 openpyxl 為特定的 excel 表添加值?

[英]Python: How to add value to a specific excel sheet using openpyxl?

所以我想為特定工作表添加一個值,在這種情況下我們有 2 個工作表,Student Profile 和 Student Grades

from openpyxl import load_workbook

file = load_workbook("Registry.xlsx")
sheet = file.active
sheet.create_sheet("Student Grades")
#Student Profile
sheet["A1"] = "ID No.:"
sheet["B1"] = "Last Name:"
sheet["C1"] = "First Name:"
sheet["D1"] = "Middle Name:"
sheet["E1"] = "Sex:"
sheet["F1"] = "Date of Birth:"
file.save("Registry.xlsx")

但是如果我們再次對 Student Grades 執行此操作,它只會覆蓋 Student Profile 的先前值,因為它保留在 sheet1 中

file = load_workbook("Registry.xlsx")
sheet = file.active
sheet["A1"] = "ID No:"
sheet["B1"] = "Math"
sheet["C1"] = "Science:"
sheet["D1"] = "English"
file.save("Registry.xlsx")

我試着做:

sheet = file["Student Grades"].active
#or
sheet["Student Grades", "A1"] = "ID No."

但它作為錯誤返回。 但我注意到,如果您使用 Excel 訪問表 2,學生成績並在退出前保存。 它將值放在工作表 2 而不是 1 上。問題是我需要它完全自動化,所以我無法事先訪問 excel。

編輯:這是一個帶有 CRUD 功能的項目的一小部分,我們被限制使用像 sql 這樣的數據庫。所以我們不得不求助於 excel。 由於它具有 CRUD 功能,所以 excel 文件需要在您對它有附加值時不斷更新。 所以我必須得到那個特定的工作表並編輯其中的單元格值

您需要像為成績所做的那樣使用Workbook.create_sheet為配置文件創建一個工作表。

嘗試這個:

from openpyxl import load_workbook

wb = load_workbook("Registry.xlsx")

#Student Profile
ws_sp = wb.create_sheet("Student Profiles")
ws_sp["A1"] = "ID No.:"
ws_sp["B1"] = "Last Name:"
ws_sp["C1"] = "First Name:"
ws_sp["D1"] = "Middle Name:"
ws_sp["E1"] = "Sex:"
ws_sp["F1"] = "Date of Birth:"

#Student Grades
ws_sg = wb.create_sheet("Student Grades")
ws_sg["A1"] = "ID No:"
ws_sg["B1"] = "Math"
ws_sg["C1"] = "Science:"
ws_sg["D1"] = "English"

wb.save("Registry.xlsx")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM