Erstellen Sie zunächst eine Beispiel-Excel-Datei example.xlsx mit den folgenden Daten:
Name | Alter | Geschlecht |
---|---|---|
Alice | 28 | Weiblich |
Bob | 35 | Männlich |
Charlie | 42 | Männlich |
Dave | 29 | Männlich |
Vorabend | 31 | Weiblich |
Installieren
pip install pandas
pip install xlrd
pip install openpyxl
Methode 1: Verwenden Sie die Pandas-Bibliothek
-
Verwenden Sie die Pandas-Bibliothek, um Excel-Dateien zu lesen und in das Wörterbuchformat zu konvertieren. Dies ist die einfachste und am häufigsten verwendete Methode.
import pandas as pd # 读取Excel文件 excel_file = 'example.xlsx' sheet_name = 'Sheet1' # 使用Pandas读取Excel文件 data_frame = pd.read_excel(excel_file, sheet_name=sheet_name) # 将数据转换为字典格式 data_dict = data_frame.to_dict(orient='records') print(data_dict)
-
Ausgabeergebnis:
[{'Name': 'Alice', 'Age': 28, 'Gender': 'Female'}, {'Name': 'Bob', 'Age': 35, 'Gender': 'Male'}, {'Name': 'Charlie', 'Age': 42, 'Gender': 'Male'}, {'Name': 'Dave', 'Age': 29, 'Gender': 'Male'}, {'Name': 'Eve', 'Age': 31, 'Gender': 'Female'}]
Methode 2: Verwenden Sie die xlrd-Bibliothek
-
Beispielcode
import xlrd # 读取Excel文件 excel_file = 'example.xlsx' sheet_name = 'Sheet1' # 使用xlrd读取Excel文件 workbook = xlrd.open_workbook(excel_file) sheet = workbook.sheet_by_name(sheet_name) # 将数据转换为字典格式 data_dict = [] for row in range(1, sheet.nrows): row_data = { } for col in range(sheet.ncols): cell_value = sheet.cell_value(row, col) row_data[sheet.cell_value(0, col)] = cell_value data_dict.append(row_data) print(data_dict)
-
Ausgabeergebnis:
[{'Name': 'Alice', 'Age': 28.0, 'Gender': 'Female'}, {'Name': 'Bob', 'Age': 35.0, 'Gender': 'Male'}, {'Name': 'Charlie', 'Age': 42.0, 'Gender': 'Male'}, {'Name': 'Dave', 'Age': 29.0, 'Gender': 'Male'}, {'Name': 'Eve', 'Age': 31.0, 'Gender': 'Female'}]
Methode 3: Verwenden Sie die openpyxl-Bibliothek
-
Beispielcode
from openpyxl import load_workbook # 读取Excel文件 excel_file = 'example.xlsx' sheet_name = 'Sheet1' # 使用openpyxl读取Excel文件 workbook = load_workbook(filename=excel_file) worksheet = workbook[sheet_name] # 将数据转换为字典格式 data_dict = [] for row in worksheet.iter_rows(min_row=2, max_col=worksheet.max_column, values_only=True): row_data = { } for i, value in enumerate(row): row_data[worksheet.cell(row=1, column=i+1).value] = value data_dict.append(row_data) print(data_dict)
-
Ausgabeergebnis:
[{'Name': 'Alice', 'Age': 28.0, 'Gender': 'Female'}, {'Name': 'Bob', 'Age': 35.0, 'Gender': 'Male'}, {'Name': 'Charlie', 'Age': 42.0, 'Gender': 'Male'}, {'Name': 'Dave', 'Age': 29.0, 'Gender': 'Male'}, {'Name': 'Eve', 'Age': 31.0, 'Gender': 'Female'}]
Zusammenfassen
-
Es ist ersichtlich, dass die Methode mit der Pandas-Bibliothek die einfachste ist, während die Verwendung der Bibliotheken xlrd und openpyxl eine manuelle Verarbeitung jeder Datenzeile erfordert.
-
Es ist zu beachten, dass der obige Beispielcode nur für den Fall gilt, dass nur ein Arbeitsblatt in der Excel-Datei vorhanden ist. Wenn die Excel-Datei mehrere Arbeitsblätter enthält, müssen Sie das zu lesende Arbeitsblatt angeben.
-
Wenn Sie eine große Anzahl von Excel-Dateien verarbeiten müssen, empfiehlt sich die Verwendung der Pandas-Bibliothek, da diese die meisten Datentypen automatisch verarbeiten kann und über eine hervorragende Leistung verfügt. Wenn Sie nur eine kleine Anzahl von Excel-Dateien verarbeiten müssen, sollten Sie die Verwendung der Bibliotheken xlrd oder openpyxl in Betracht ziehen.