Verwenden Sie pandas, xlrd, openpyxl, um Excel zu lesen

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.

おすすめ

転載: blog.csdn.net/weixin_44649870/article/details/130426487