专业的编程技术博客社区

网站首页 > 博客文章 正文

Python处理Excel实例

baijin 2025-01-18 17:13:52 博客文章 8 ℃ 0 评论

知识星球:写代码那些事

如果你有收获|欢迎|点赞|关注|转发

这里会定期更新|大厂的开发|架构|方案设计

这里也会更新|如何摸鱼|抓虾

欢迎来到写代码那些事!Excel作为数据处理的常用工具,在大量数据处理场景中扮演着重要角色。本教程将带你深入学习如何用Python完成Excel的常见操作,释放数据处理的潜力。

目录:

  1. 数据读取与写入:轻松打通Python与Excel
  2. 数据筛选与处理:快速清理和整理Excel数据
  3. 图表与可视化:用Python为数据赋予更多生命
  4. 数据分析与计算:高效地在Excel中进行统计和计算
  5. 自动化报表生成:用Python打造智能Excel应用

1. 数据读取与写入:轻松打通Python与Excel

在这一节中,我们将介绍如何使用Python库来读取和写入Excel文件。我们会使用pandas库来实现这些操作,让你能够轻松地将Python和Excel连接起来。

# 导入pandas库
import pandas as pd

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

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

2. 数据筛选与处理:快速清理和整理Excel数据

在这一节,我们将学习如何使用Python来进行数据筛选和处理。通过pandas库的强大功能,你可以轻松地进行数据清理、重命名列名等操作。

# 数据筛选与处理示例
import pandas as pd

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

filtered_data = data[data['销售额'] > 1000]
cleaned_data = data.dropna()

# print filtered_data
print("过滤后的数据:")
print(filtered_data)
# print cleaned_data
print("清洗后的数据:")
print(cleaned_data)

如果你对,dropna这个函数有疑惑,请看下面得例子

>>> df = pd.DataFrame({"name": ['Alfred', 'Batman', 'Catwoman'],
...                    "toy": [np.nan, 'Batmobile', 'Bullwhip'],
...                    "born": [pd.NaT, pd.Timestamp("1940-04-25"),
...                             pd.NaT]})
>>> df
       name        toy       born
0    Alfred        NaN        NaT
1    Batman  Batmobile 1940-04-25
2  Catwoman   Bullwhip        NaT

删除至少缺少一个元素的行

>>> df.dropna()
     name        toy       born
1  Batman  Batmobile 1940-04-25

删除至少缺少一个元素的列

>>> df.dropna(axis='columns')
       name
0    Alfred
1    Batman
2  Catwoman

删除所有元素都丢失的行

>>> df.dropna(how='all')
       name        toy       born
0    Alfred        NaN        NaT
1    Batman  Batmobile 1940-04-25
2  Catwoman   Bullwhip        NaT

仅保留至少具有 2 个非 NA 值的行

>>> df.dropna(thresh=2)
       name        toy       born
1    Batman  Batmobile 1940-04-25
2  Catwoman   Bullwhip        NaT

定义在哪些列中查找缺失值

>>> df.dropna(subset=['name', 'toy'])
       name        toy       born
1    Batman  Batmobile 1940-04-25
2  Catwoman   Bullwhip        NaT

3. 图表与可视化:用Python为数据赋予更多生命

数据可视化是数据分析的关键步骤。在这一节,我们将展示如何使用Python库来创建各种图表,为数据赋予更多生命和表现力。

import openpyxl
from openpyxl.drawing.image import Image
import pandas as pd
import matplotlib.pyplot as plt
import io

# 创建示例数据
data = pd.DataFrame({
    '产品': ['A', 'B', 'C'],
    '销售额': [1000, 1500, 2000]
})

# 创建新的工作簿
wb = openpyxl.Workbook()
ws = wb.active
ws.title = '报告'

# 添加数据到工作表
ws.append(['产品', '销售额'])
for _, row in data.iterrows():
    ws.append(row.tolist())

# 创建柱状图
plt.bar(data['产品'], data['销售额'])
plt.xlabel('产品')
plt.ylabel('销售额')
plt.title('产品销售额')

plt.show()


4. 数据分析与计算:高效地进行统计和计算

Python在数据分析方面有很强的能力。在这一节,我们将展示如何使用pandas库来进行数据分析和计算,如统计平均值、总和等。

# 统计平均值和总和
import openpyxl
from openpyxl.drawing.image import Image
import pandas as pd
import matplotlib.pyplot as plt
import io

# 创建示例数据
data = pd.DataFrame({
    '产品': ['A', 'B', 'C'],
    '销售额': [1000, 1500, 2000],
    '利润': [200, 300, 400]  # 添加利润数据列
})

# 创建新的工作簿
wb = openpyxl.Workbook()
ws = wb.active
ws.title = '报告'

# 添加数据到工作表
ws.append(['产品', '销售额', '利润'])
for _, row in data.iterrows():
    ws.append(row.tolist())

# 计算平均销售额和总利润
average_sales = data['销售额'].mean()
total_profit = data['利润'].sum()

# 创建柱状图
plt.bar(data['产品'], data['销售额'])
plt.xlabel('产品')
plt.ylabel('销售额')
plt.title('产品销售额')

print('平均销售额:', average_sales)
print('总利润:', total_profit)


5. 自动化报表生成:用Python打造智能Excel应用

在这一节中,我们将学习如何使用Python自动化生成报表。通过openpyxl库,你可以在Excel中创建新的工作表、添加图表,并实现自动化报告生成。

import openpyxl
from openpyxl.chart import LineChart, Reference
import pandas as pd

# 创建示例数据
data = pd.DataFrame({
    '日期': ['2023-01-01', '2023-01-02', '2023-01-03'],
    '销售额': [1000, 1500, 2000]
})

# 创建新的工作簿
wb = openpyxl.Workbook()
ws = wb.active
ws.title = '报告'

# 添加数据到工作表
ws.append(['日期', '销售额'])
for _, row in data.iterrows():
    ws.append(row.tolist())  # 将Series转换为列表并添加到工作表

# 创建折线图
chart = LineChart()
chart.title = '销售趋势图'
chart.x_axis.title = '日期'
chart.y_axis.title = '销售额'

# 设置图表数据范围
data_ref = Reference(ws, min_col=2, min_row=2, max_col=2, max_row=len(data)+1)
category_ref = Reference(ws, min_col=1, min_row=3, max_row=len(data)+1)
chart.add_data(data_ref, titles_from_data=True)
chart.set_categories(category_ref)

# 添加图表到工作表
ws.add_chart(chart, 'E3')

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

总结:

通过本教程,你已经学会了如何使用Python完成Excel的常用操作,包括数据读取、数据处理、数据可视化、数据分析以及自动化报表生成。掌握这些技巧,你将能够更高效地处理Excel中的数据,并将其与Python的强大功能相结合,为数据处理提供更多可能性。让Python成为你处理Excel数据的得力助手吧!

#python#?#excle#?#python处理excle

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表