在日常工作和学习中,我们经常需要处理Excel文件(.xlsx),Python提供了强大的库如pandas和openpyxl,让我们能够轻松地进行数据分析、处理和自动化操作。
本文将分享10个使用Python编写的Excel自动化脚本,以帮助新手小白快速上手。
1. 读取Excel文件
import pandas as pd
# 读取Excel文件
def read_excel(file_path):
df = pd.read_excel(file_path)
return df
data = read_excel('example.xlsx')
print(data.head()) # 打印前5行数据
解释
该脚本使用pandas库读取Excel文件并打印出前五行数据。这是任何数据分析任务的第一步,对于程序员来说,学会如何加载数据是非常重要的;而对于普通用户,如在工作中查看报表,这种方法也很实用。
2. 写入数据到Excel文件
# 将数据写入新的Excel文件
def write_to_excel(data, output_file):
df = pd.DataFrame(data)
df.to_excel(output_file, index=False)
data_to_write = {
'姓名': ['张三', '李四', '王五'],
'成绩': [85, 90, 78]
}
write_to_excel(data_to_write, 'output.xlsx')
print("数据写入成功!")
解释
这个脚本将一个字典数据写入到新的Excel文件中。在实际应用中,当你需要将计算结果或汇总数据保存为报告时,这个功能非常有用。
3. 数据筛选
# 根据条件筛选数据
def filter_data(df, column_name, condition):
filtered_df = df[df[column_name] > condition]
return filtered_df
data = read_excel('example.xlsx')
filtered_data = filter_data(data, '成绩', 80)
print("筛选后的数据:")
print(filtered_data)
解释
该脚本从Excel文件中筛选出“成绩”大于80的记录。这在分析数据时非常常见,比如想要找出表现优异的学生名单。
4. 数据合并
# 合并多个Excel文件
def merge_excel(files, output_file):
dfs = [pd.read_excel(file) for file in files]
merged_df = pd.concat(dfs, ignore_index=True)
merged_df.to_excel(output_file, index=False)
merge_excel(['file1.xlsx', 'file2.xlsx'], 'merged_output.xlsx')
print("文件合并成功!")
解释
此脚本合并多个Excel文件的数据到一个新的文件中。这在汇总不同部门的报告时尤其方便,可以快速整合信息。
5. 删除重复项
# 删除Excel中的重复行
def remove_duplicates(df):
return df.drop_duplicates()
data = read_excel('example.xlsx')
cleaned_data = remove_duplicates(data)
cleaned_data.to_excel('cleaned_output.xlsx', index=False)
print("已删除重复项,结果保存成功!")
解释
该脚本从Excel数据中删除重复的行。对于维护数据的完整性和准确性来说,这是一个非常重要的步骤,常用于清理数据集。
6. 统计数据
# 统计某列的平均值
def calculate_average(df, column_name):
return df[column_name].mean()
data = read_excel('example.xlsx')
average_score = calculate_average(data, '成绩')
print(f"成绩的平均值是: {average_score}")
解释
这个脚本计算Excel文件中“成绩”列的平均值。进行数据分析时,获取基本统计信息是必要的,无论是开发者还是普通用户都需要了解整体趋势。
7. 绘制图表
import matplotlib.pyplot as plt
# 绘制柱状图
def plot_bar_chart(df, column_name):
df[column_name].value_counts().plot(kind='bar')
plt.title(f'{column_name} 的频次分布')
plt.xlabel(column_name)
plt.ylabel('频次')
plt.show()
data = read_excel('example.xlsx')
plot_bar_chart(data, '成绩')
解释
这个脚本绘制关于“成绩”的柱状图,帮助我们可视化数据分布情况。通过图表展示数据,更容易理解结果,适用于报告或者会议资料中。
8. 更新Excel单元格
# 更新指定单元格的内容
def update_cell(file_path, sheet_name, row, column, new_value):
df = pd.read_excel(file_path, sheet_name=sheet_name)
df.iloc[row, column] = new_value
df.to_excel(file_path, sheet_name=sheet_name, index=False)
update_cell('example.xlsx', 'Sheet1', 0, 1, 95) # 更新第1行第2列的值
print("单元格更新成功!")
解释
该脚本更新Excel文件中特定单元格的内容。比如,如果发现学生的成绩需要修改,这个功能非常高效,避免了手动逐个检查的麻烦。
9. 格式化Excel文件
from openpyxl import load_workbook
from openpyxl.styles import Font
# 格式化Excel文件的标题行
def format_header(file_path):
wb = load_workbook(file_path)
ws = wb.active
for cell in ws[1]: # 假设标题在第一行
cell.font = Font(bold=True, color='FF0000') # 设置字体加粗和红色
wb.save(file_path)
format_header('example.xlsx')
print("标题行格式化成功!")
解释
该脚本对Excel文件的标题行进行格式化,设置字体为加粗并变为红色。这在制作专业报告时非常重要,有助于提升文档的可读性和美观性。
10. 生成透视表
# 生成透视表
def create_pivot_table(df, index_column, values_column):
pivot_table = df.pivot_table(index=index_column, values=values_column, aggfunc='mean')
return pivot_table
data = read_excel('example.xlsx')
pivot = create_pivot_table(data, '班级', '成绩')
pivot.to_excel('pivot_table_output.xlsx')
print("透视表生成成功!")
解释
该脚本根据给定的分类生成透视表,计算各班级的成绩均值。透视表是一种强大的数据分析工具,能帮助用户快速总结和分析数据,是数据分析师必备的技能之一。
以上就是10个实用的Python Excel自动化脚本示例,希望能帮助你在Excel的数据处理上提高效率!通过这些简单的实例,你可以看到Python处理Excel文件的强大能力,也希望启发你进一步探索的兴趣!如果你有任何问题或建议,欢迎留言交流!
全套Python学习资料分享:
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
三、python入门资料大全
四、python进阶资料大全
五、python爬虫专栏
六、入门学习视频全套
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
七、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
八、python最新面试题
获取资料:
1、点赞+再看
2、关注公众号【印象Python】
3、公众号内回复【获取2024最新Python全套资料大全】即可