-
以下是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相关的任务,提升工作效率.
-
大家看到这里恳求大家帮忙点击关注一下这个新的公众号万分感谢!!!或者微信搜一搜:丹哥说影评。
-
-
原创文章不易,求点赞、在看、转发或留言,这样对我创作下一个精美文章会有莫大的动力!