使用 pandas 解析 Excel 文档
pandas 是一个强大的数据处理库,可以方便地解析 Excel 文件。以下是使用 pandas 读取 Excel 文件的代码示例:
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')
# 显示前 5 行数据
print(df.head())
使用 openpyxl 解析 Excel 文档
openpyxl 是专门用于处理 Excel 文件的库,适合需要精细操作的场景。以下是使用 openpyxl 的代码示例:
from openpyxl import load_workbook
# 加载 Excel 文件
wb = load_workbook('example.xlsx')
sheet = wb['Sheet1']
# 读取单元格数据
for row in sheet.iter_rows(values_only=True):
print(row)
使用 xlrd 解析 Excel 文档
xlrd 是一个轻量级的库,适合读取旧版本的 Excel 文件(.xls)。以下是使用 xlrd 的代码示例:
import xlrd
# 打开 Excel 文件
workbook = xlrd.open_workbook('example.xls')
sheet = workbook.sheet_by_name('Sheet1')
# 读取单元格数据
for row in range(sheet.nrows):
print(sheet.row_values(row))
处理 Excel 中的公式
如果需要解析 Excel 中的公式,可以使用 openpyxl 的 data_only
参数:
from openpyxl import load_workbook
# 加载 Excel 文件并计算公式
wb = load_workbook('example.xlsx', data_only=True)
sheet = wb['Sheet1']
# 读取包含公式的单元格
print(sheet['A1'].value)
导出数据到 Excel
解析后可能需要将数据导出为 Excel 文件。以下是使用 pandas 导出数据的代码示例:
import pandas as pd
# 创建 DataFrame
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)
# 导出到 Excel
df.to_excel('output.xlsx', index=False)
处理大型 Excel 文件
对于大型 Excel 文件,可以使用 chunksize
参数分块读取:
import pandas as pd
# 分块读取 Excel 文件
chunk_size = 1000
for chunk in pd.read_excel('large_file.xlsx', chunksize= chunk_size):
print(chunk)
以上方法涵盖了常见的 Excel 解析需求,可以根据具体场景选择合适的工具和方式。