1
头图

大家好,我是涛哥,本文内容来自 涛哥聊Python ,转载请标原创。

更多Python学习内容:http://ipengtao.com

在数据分析和处理的过程中,Excel 是一种广泛使用的数据存储和交换格式。Python 提供了多个强大的库来处理 Excel 文件,如 pandasopenpyxlxlrd 等。本文将详细介绍如何使用这些库进行 Excel 文件的常用操作,包括读取、写入、修改和格式化等。

使用 pandas 处理 Excel 文件

pandas 是一个强大的数据处理和分析库,它提供了高效的 Excel 读取和写入功能。

读取 Excel 文件

使用 pandas 读取 Excel 文件非常简单,只需一行代码。

import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('data.xlsx')

# 显示前几行数据
print(df.head())

写入 Excel 文件

将 DataFrame 写入 Excel 文件也同样简单。

# 创建一个 DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)

# 写入 Excel 文件
df.to_excel('output.xlsx', index=False)

追加数据到 Excel 文件

如果需要在现有的 Excel 文件中追加数据,可以使用 ExcelWriter

# 追加数据到现有 Excel 文件
with pd.ExcelWriter('output.xlsx', mode='a', engine='openpyxl') as writer:
    df.to_excel(writer, sheet_name='NewSheet', index=False)

使用 openpyxl 处理 Excel 文件

openpyxl 是一个专门处理 Excel 文件的库,适用于处理 .xlsx 格式的文件。

读取 Excel 文件

使用 openpyxl 读取 Excel 文件并获取数据。

from openpyxl import load_workbook

# 加载 Excel 文件
wb = load_workbook('data.xlsx')

# 选择活动工作表
ws = wb.active

# 读取所有数据
data = []
for row in ws.iter_rows(values_only=True):
    data.append(row)

# 打印数据
for row in data:
    print(row)

写入 Excel 文件

使用 openpyxl 创建和写入 Excel 文件。

from openpyxl import Workbook

# 创建一个工作簿
wb = Workbook()
ws = wb.active

# 写入数据
ws.append(['Name', 'Age', 'City'])
ws.append(['Alice', 25, 'New York'])
ws.append(['Bob', 30, 'Los Angeles'])
ws.append(['Charlie', 35, 'Chicago'])

# 保存工作簿
wb.save('output.xlsx')

修改 Excel 文件

打开现有的 Excel 文件,修改其中的数据,并保存更改。

# 加载现有 Excel 文件
wb = load_workbook('output.xlsx')
ws = wb.active

# 修改数据
ws['B2'] = 26  # 将 Alice 的年龄改为 26

# 保存工作簿
wb.save('output_modified.xlsx')

单元格格式化

可以使用 openpyxl 设置单元格的格式,如字体、颜色、边框等。

from openpyxl.styles import Font, PatternFill

# 加载 Excel 文件
wb = load_workbook('output.xlsx')
ws = wb.active

# 设置字体
font = Font(name='Arial', size=14, bold=True)
ws['A1'].font = font

# 设置填充颜色
fill = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')
ws['A1'].fill = fill

# 保存工作簿
wb.save('output_formatted.xlsx')

使用 xlrd 读取旧版 Excel 文件

xlrd 是一个用于读取 .xls 文件的库。注意,xlrd 从 2.0.0 版本开始只支持读取 .xls 文件,不再支持 .xlsx 文件。

读取 Excel 文件

使用 xlrd 读取 .xls 文件中的数据。

import xlrd

# 打开 Excel 文件
workbook = xlrd.open_workbook('data.xls')

# 选择工作表
sheet = workbook.sheet_by_index(0)

# 读取所有数据
data = []
for row_idx in range(sheet.nrows):
    row = sheet.row_values(row_idx)
    data.append(row)

# 打印数据
for row in data:
    print(row)

综合示例:从 Excel 文件读取、处理并写回

以下示例展示了如何综合使用 pandasopenpyxl 从 Excel 文件中读取数据,进行处理,并将结果写回到新的 Excel 文件中。

import pandas as pd
from openpyxl import load_workbook

# 读取 Excel 文件
df = pd.read_excel('data.xlsx')

# 处理数据(例如,计算年龄的平均值)
average_age = df['Age'].mean()
print(f"平均年龄: {average_age}")

# 将处理结果写入新的 Excel 文件
with pd.ExcelWriter('processed_data.xlsx', engine='openpyxl') as writer:
    df.to_excel(writer, sheet_name='Data', index=False)
    summary_df = pd.DataFrame({'Average Age': [average_age]})
    summary_df.to_excel(writer, sheet_name='Summary', index=False)

总结

本文详细介绍了如何使用 Python 处理 Excel 文件的常用操作,包括读取、写入、修改和格式化等。通过 pandasopenpyxlxlrd 库,你可以高效地进行各种 Excel 文件的操作,适用于数据分析和处理等应用场景。掌握这些技能,不仅可以提高工作效率,还能显著提升数据处理能力。希望本文对大家理解和应用 Python 处理 Excel 文件有所帮助。


涛哥聊Python
59 声望39 粉丝