Utilice pandas, xlrd, openpyxl para leer Excel

Primero cree un archivo Excel de muestra ejemplo.xlsx que contenga los siguientes datos:

Nombre Edad Género
Alicia 28 Femenino
Beto 35 Masculino
charlie 42 Masculino
dave 29 Masculino
Víspera 31 Femenino

Instalar

pip install pandas
pip install xlrd
pip install openpyxl

Método 1: utilizar la biblioteca Pandas

  • Utilice la biblioteca Pandas para leer archivos de Excel y convertirlos al formato de diccionario. Este es el método más simple y más utilizado.

    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)
    
  • Resultado de salida:

    [{'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'}]
    

Método 2: utilizar la biblioteca xlrd

  • Código de muestra

    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)
    
  • Resultado de salida:

    [{'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'}]
    

Método 3: usar la biblioteca openpyxl

  • Código de muestra

    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)
    
  • Resultado de salida:

    [{'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'}]
    

Resumir

  • Se puede ver que el método que usa la biblioteca Pandas es el más simple, mientras que usar las bibliotecas xlrd y openpyxl requiere el procesamiento manual de cada fila de datos.

  • Cabe señalar que el código de muestra anterior solo se aplica al caso en el que solo hay una hoja de trabajo en el archivo de Excel. Si hay varias hojas de trabajo en el archivo de Excel, debe especificar la hoja de trabajo que se leerá.

  • Si necesita procesar una gran cantidad de archivos de Excel, se recomienda utilizar la biblioteca Pandas porque puede manejar automáticamente la mayoría de los tipos de datos y tiene un rendimiento excelente. Si solo necesita procesar una pequeña cantidad de archivos de Excel, considere usar las bibliotecas xlrd o openpyxl.

Supongo que te gusta

Origin blog.csdn.net/weixin_44649870/article/details/130426487
Recomendado
Clasificación