一、引言
在数据分析和处理中,经常需要从 Excel 文件中读取数据。Python 提供了多种库来实现这个功能,本文将深入探讨使用
pandas
、openpyxl
和 xlrd
库读取 Excel 文件的高级技巧和代码实现。二、使用 pandas 库读取 Excel 文件
pandas
是 Python 中强大的数据处理库,提供了方便的函数来读取 Excel 文件。
import pandas as pd # 读取 Excel 文件 df = pd.read_excel('example.xlsx') # 打印数据框的前几行 print(df.head())
from openpyxl import load_workbook # 加载工作簿 wb = load_workbook('example.xlsx') # 获取工作表 sheet = wb.active # 遍历工作表中的数据 for row in sheet.iter_rows(): for cell in row: print(cell.value)
import xlrd # 打开 Excel 文件 workbook = xlrd.open_workbook('example.xls') # 获取工作表 sheet = workbook.sheet_by_index(0) # 遍历工作表中的数据 for row_index in range(sheet.nrows): row_data = sheet.row_values(row_index) print(row_data)
# 使用 openpyxl 处理合并单元格 from openpyxl import load_workbook wb = load_workbook('example.xlsx') sheet = wb.active merged_cells = sheet.merged_cells.ranges for merged_cell in merged_cells: min_row, min_col, max_row, max_col = merged_cell.min_row, merged_cell.min_col, merged_cell.max_row, merged_cell.max_col top_left_cell_value = sheet.cell(row=min_row, column=min_col).value for row in range(min_row, max_row + 1): for col in range(min_col, max_col + 1): sheet.cell(row=row, column=col).value = top_left_cell_value
# 使用 pandas 分块读取 Excel 文件 import pandas as pd chunk_size = 1000 # 每次读取的行数 reader = pd.read_excel('large_file.xlsx', chunksize=chunk_size) for chunk in reader: # 在这里处理每一块数据 print(chunk)