小白轻松入手10个python excel自动化脚本

  • 以下是9个经典的Python Excel自动化脚本示例,包括详细的代码和解释.这些示例使用pandas和openpyxl库进行操作.

1.读取Excel文件

import pandas as pd
# 读取Excel文件
df = pd.read_excel('example.xlsx')

# 打印数据框内容
print(df)
  • 解释:使用pandas库读取Excel文件并打印其内容。

2. 写入数据到Excel文件

import pandas as pd

# 创建数据框
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文件。

3. 添加新列到现有Excel文件

import pandas as pd

# 读取现有Excel文件
df = pd.read_excel('example.xlsx')

# 添加新列
df['Salary'] = [50000, 60000, 70000]

# 写入修改后的数据框到新Excel文件
df.to_excel('updated_example.xlsx', index=False)
  • 解释:读取现有的Excel文件,添加新列,并将结果写入新的Excel文件。

4. 筛选数据并写入新Excel文件

import pandas as pd

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

# 筛选年龄大于30的数据
filtered_df = df[df['Age'] > 30]

# 写入新Excel文件
filtered_df.to_excel('filtered_example.xlsx', index=False)
  • 解释:筛选满足特定条件的数据并将其写入新的Excel文件。

5. 合并多个Excel文件

import pandas as pd
import glob

# 获取所有Excel文件
excel_files = glob.glob('data/*.xlsx')

# 读取并合并所有Excel文件
df_list = [pd.read_excel(file) for file in excel_files]
merged_df = pd.concat(df_list, ignore_index=True)

# 写入合并后的数据到新Excel文件
merged_df.to_excel('merged_data.xlsx', index=False)
  • 解释:读取多个Excel文件并将它们合并到一个新的Excel文件中。

6. 创建带格式的Excel文件

import pandas as pd
from openpyxl import Workbook
from openpyxl.styles import Font

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

# 创建Excel文件
writer = pd.ExcelWriter('formatted.xlsx', engine='openpyxl')
df.to_excel(writer, index=False, sheet_name='Sheet1')

# 获取工作簿和工作表
workbook = writer.book
worksheet = writer.sheets['Sheet1']

# 设置标题行的字体加粗
for cell in worksheet["1:1"]:
    cell.font = Font(bold=True)

# 保存文件
writer.save()
  • 解释:创建一个带格式的Excel文件,设置标题行的字体加粗。

7. 生成透视表

import pandas as pd

# 创建数据框
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob'],
    'Age': [25, 30, 35, 25, 30],
    'Sales': [200, 150, 300, 250, 100]
}
df = pd.DataFrame(data)

# 生成透视表
pivot_table = df.pivot_table(values='Sales', index='Name', columns='Age', aggfunc='sum')

# 写入Excel文件
pivot_table.to_excel('pivot_table.xlsx')
  • 解释:使用数据框生成透视表并将其写入Excel文件。

8. 绘制图表并插入到Excel文件

import pandas as pd
import matplotlib.pyplot as plt

# 创建数据框
data = {
    'Month': ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
    'Sales': [200, 150, 300, 250, 400]
}
df = pd.DataFrame(data)

# 绘制图表
plt.figure(figsize=(10, 6))
plt.plot(df['Month'], df['Sales'], marker='o')
plt.title('Monthly Sales')
plt.xlabel('Month')
plt.ylabel('Sales')
plt.grid(True)

# 保存图表到文件
plt.savefig('sales_chart.png')

# 插入图表到Excel文件
from openpyxl import Workbook
from openpyxl.drawing.image import Image

wb = Workbook()
ws = wb.active

# 插入图片
img = Image('sales_chart.png')
ws.add_image(img, 'A1')

# 保存Excel文件
wb.save('excel_with_chart.xlsx')
  • 解释:绘制图表并将其插入到Excel文件中。

9. 自动化发送含Excel附件的邮件

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

# 邮件信息
sender_email = "your_email@example.com"
receiver_email = "receiver_email@example.com"
subject = "Test Email with Excel Attachment"
body = "Please find the attached Excel file."

# 创建邮件对象
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = receiver_email
msg['Subject'] = subject

# 添加邮件正文
msg.attach(MIMEText(body, 'plain'))

# 附件文件
filename = "example.xlsx"
attachment = open(filename, "rb")

# 构造附件
part = MIMEBase('application', 'octet-stream')
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', f"attachment; filename= {filename}")

# 添加附件到邮件
msg.attach(part)

# 发送邮件
server = smtplib.SMTP('smtp.example.com', 587)
server.starttls()
server.login(sender_email, "your_password")
server.sendmail(sender_email, receiver_email, msg.as_string())
server.quit()
  • 解释:自动化发送包含Excel附件的电子邮件.

10.更新Excel文件中的单元格

import openpyxl

# 打开现有的Excel文件
wb = openpyxl.load_workbook('example.xlsx')
ws = wb.active

# 更新单元格值
ws['A1'] = 'Updated Value'

# 保存文件
wb.save('updated_example.xlsx')
  • 解释:使用openpyxl库打开现有的Excel文件,更新指定单元格的值,并保存文件

  • 这些示例展示了如何使用Python进行Excel文件的读取、写入、格式化、数据处理、图表生成以及邮件发送等操作.这些脚本可以帮助你自动化处理Excel相关的任务,提升工作效率.

  • 大家看到这里恳求大家帮忙点击关注一下这个新的公众号万分感谢!!!或者微信搜一搜:丹哥说影评。

  • 原创文章不易,求点赞、在看、转发或留言,这样对我创作下一个精美文章会有莫大的动力!

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python茶水实验室

你的关注,是我创作的最大动力.

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值