[英]add specific rows and column into another excel file using openpyxl in python
[英]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.