簡介
在日常工作中,處理 Excel 表格數據是一項常見的任務。Python 提供了豐富的庫和工具,能夠幫助我們高效地處理 Excel 數據。本篇博客將介紹如何使用 openpyxl
庫來讀取 Excel 表格并進行數據處理,同時展示一個實際案例,說明如何從 Excel 表格中提取數據并轉換為 JSON 格式進行存儲。
準備工作
在開始之前,確保你已經安裝了 openpyxl
庫。如果尚未安裝,可以通過以下命令進行安裝:
pip install openpyxl
讀取 Excel 表格
首先,我們需要使用 openpyxl
庫來讀取 Excel 表格數據。下面是讀取 Excel 表格的基本步驟:
- 獲取表格的工作簿對象
- 得到表單(sheet)
- 獲取單元格數據
- 獲取單元格數據的值
# 代碼示例
from openpyxl import load_workbook
import pathlib# 獲取excel的相對路徑
cur_path = pathlib.Path(__file__).absolute()
excel_path = cur_path.parent / "B題附件1.xlsx"# 獲取工作簿對象
wb = load_workbook(excel_path)# 獲取表單——sheet
sheet = wb["選課情況"]# 獲取單元格數據
cell_value = sheet.cell(row=2, column=2).value
數據處理與轉換
接下來,我們將介紹如何利用 Python 對 Excel 表格中的數據進行處理和轉換。在本例中,我們將演示如何將 Excel 表格中的數據轉換為 JSON 格式并進行存儲。以下是代碼示例:
# 代碼示例
import json# 獲取表單中所有的數據 -- 轉化為列表
datas = list(sheet.values)
# 取出標題
title = datas[0]# 再一次獲取后續的每一行數據,跟title壓縮成字典
case_list = []
for case in datas[1:]:case_dict = dict(zip(title, case))case_list.append(case_dict)# 存儲學生的字典
students_dict = {}# 遍歷原始數據,按照選課情況將學生存儲到相應的列表中
for student in case_list:courses = [key for key, value in student.items() if key != '學生' and key != '行政班' and value == 1]key = tuple(courses) # 以選課情況作為鍵if key not in students_dict:students_dict[key] = []students_dict[key].append(student['學生'])# 輸出存儲結果
print(students_dict)# 將結果轉化為 JSON 格式并存儲到文件中
students_dict = {str(key): value for key, value in students_dict.items()}
with open('data.json', 'w', encoding='utf-8') as f:json.dump(students_dict,f,ensure_ascii=False,indent=4)
總結
本文介紹了如何使用 Python 中的 openpyxl
庫來處理 Excel 表格數據,并提供了一個實際案例,展示了從 Excel 表格中提取數據并轉換為 JSON 格式的過程。希望本文能夠幫助讀者更好地利用 Python 處理 Excel 數據,提高工作效率。
結語
如果您有任何問題或意見,歡迎在評論區留言,我們會盡快回復您。謝謝閱讀!