从入门到精通:Python处理Excel文件的实用技巧

liftword4周前 (04-01)技术文章13

在数据分析和处理的过程中,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 文件有所帮助。

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

领取方式:私信回复666,免费领取资料软件~

相关文章

Python读取Excel文件的方法

方法一:读excel文件单元格数据import xlrdbook = xlrd.open_workbook('fruit.xlsx')print('sheet页名称:',book.sheet_name...

一日一技:使用Python读取Excel文件

安装xlrd模块:pip install xlrd使用xlrd模块,可以从电子表格中检索信息。 例如,可以在Python中完成读取,写入或修改数据的操作。 另外,用户可能必须浏览各种工作表并根据某些条...

python怎么读取excel文件

python怎么读取excel文件?1.首先说明我是使用的python3.5,我的office版本是2010,首先打开dos命令窗,安装必须的两个库,命令是:12pip3 install xlrdPi...

详细实例操作:教你用python如何读取和写入EXCEL里面的数据

前言:今天为大家带来的内容是:PYTHON如何读取和写入EXCEL里面的数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下,要是喜欢本文内容的朋友记...

python读取Excel表格

python读取Excel文件有一个专门的第三方库xlrd,我们可以安装一下pip install xlrd有关Excel文件的读取如下path = "./test.xls" '''open_wor...

python除了熟悉的pandas,openpyxl库也很方便的读取Excel表内容

学习目录了解下电脑中的excel表格文件格式安装openpyxl库使用openpyxl库读取表格内容1 先准备一个表格‘python.xlsx’,表格中包含如下几个sheet页2 导入openpyxl...