大数跨境
0
0

Python分享10个Excel自动化脚本

Python分享10个Excel自动化脚本 码途钥匙
2025-02-27
0

1. 合并多个Excel文件

import pandas as pdimport os
def merge_excel_files(folder_path, output_file): all_data = pd.DataFrame() for filename in os.listdir(folder_path): if filename.endswith('.xlsx'): file_path = os.path.join(folder_path, filename) df = pd.read_excel(file_path) all_data = pd.concat([all_data, df], ignore_index=True) all_data.to_excel(output_file, index=False)
merge_excel_files('your_folder_path', 'merged_file.xlsx')print("多个Excel文件合并成功!")

解释

该脚本将指定文件夹下的所有Excel文件合并成一个文件。在处理分散在多个文件中的数据时,这个功能可以将数据整合在一起,方便后续的统一分析。

2. 拆分Excel文件

import pandas as pd
def split_excel_file(file_path, column_name, output_folder): df = pd.read_excel(file_path) unique_values = df[column_name].unique() for value in unique_values: sub_df = df[df[column_name] == value] output_file = os.path.join(output_folder, f'{value}.xlsx') sub_df.to_excel(output_file, index=False)
split_excel_file('example.xlsx', '部门', 'output_folder')print("Excel文件拆分成功!")

解释

此脚本根据指定列的唯一值将Excel文件拆分成多个文件。例如,按照“部门”列将数据拆分成不同部门对应的文件,便于各部门独立查看和处理自己的数据。

3. 替换单元格内容

import pandas as pd
def replace_cell_content(file_path, column_name, old_value, new_value): df = pd.read_excel(file_path) df[column_name] = df[column_name].replace(old_value, new_value) df.to_excel(file_path, index=False)
replace_cell_content('example.xlsx', '产品名称', '旧产品', '新产品')print("单元格内容替换成功!")

解释

该脚本将指定列中的特定内容替换为新的内容。在数据修正或更新时,这个功能可以快速修改数据中的错误或过时信息。

4. 对数据进行排序

import pandas as pd
def sort_excel_data(file_path, column_name, ascending=True): df = pd.read_excel(file_path) df = df.sort_values(by=column_name, ascending=ascending) df.to_excel(file_path, index=False)
sort_excel_data('example.xlsx', '销售额', ascending=False)print("数据排序成功!")

解释

这个脚本的主要功能是对 Excel 文件中的数据根据指定列进行排序操作,并且可以选择升序或降序排列,最后将排序后的数据保存回原 Excel 文件。排序操作在数据处理和分析中非常常见,例如按照销售额对销售数据进行降序排序,能快速找出销售额高的记录。

5. 统计特定列的唯一值数量

import pandas as pd
def count_unique_values(file_path, column_name): df = pd.read_excel(file_path) unique_count = df[column_name].nunique() print(f"{column_name}列的唯一值数量为: {unique_count}")
count_unique_values('example.xlsx''客户编号')

解释

该脚本用于统计Excel文件中指定列的唯一值数量。在数据分析中,了解某列有多少不同的值可以帮助我们快速掌握数据的分布情况,例如统计客户编号的唯一值数量可以知道有多少不同的客户。

6. 提取指定列到新的Excel文件

import pandas as pd
def extract_columns(file_path, columns, output_file): df = pd.read_excel(file_path) new_df = df[columns] new_df.to_excel(output_file, index=False)
extract_columns('example.xlsx', ['姓名', '年龄'], 'extracted_columns.xlsx')print("指定列提取成功!")

解释

此脚本可以从一个Excel文件中提取指定的列,并保存到一个新的Excel文件中。当我们只需要数据中的部分信息时,使用这个脚本可以快速筛选出所需的数据,避免处理大量无关信息。

7. 为Excel表格添加边框

from openpyxl import load_workbookfrom openpyxl.styles import Border, Side
def add_border_to_excel(file_path): wb = load_workbook(file_path) ws = wb.active thin_border = Border(left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'), bottom=Side(style='thin')) for row in ws.iter_rows(): for cell in row: cell.border = thin_border wb.save(file_path)
add_border_to_excel('example.xlsx')print("表格边框添加成功!")

解释

该脚本为Excel表格中的每个单元格添加了细边框。添加边框可以使表格更加清晰易读,特别是在打印或展示数据时,能够提升表格的美观度和专业性。

8. 检查Excel文件中是否存在空行并删除

import pandas as pd
def remove_empty_rows(file_path): df = pd.read_excel(file_path) df = df.dropna(how='all') df.to_excel(file_path, index=False)
remove_empty_rows('example.xlsx')print("空行删除成功!")

解释

此脚本用于检查Excel文件中是否存在所有列都为空的行,并将这些空行删除。空行可能会影响数据处理和分析的结果,通过删除空行可以保证数据的完整性和准确性。

9. 根据多列条件筛选数据

import pandas as pd
def filter_data_by_multiple_conditions(file_path, conditions, output_file): df = pd.read_excel(file_path) query_str = ' & '.join([f'{col} {op} {val}' for col, op, val in conditions]) filtered_df = df.query(query_str) filtered_df.to_excel(output_file, index=False)
# 示例条件:年龄大于25且性别为女conditions = [('年龄', '>', 25), ('性别', '==', "'女'")]filter_data_by_multiple_conditions('example.xlsx', conditions, 'filtered_data.xlsx')print("多条件筛选数据成功!")

解释

该脚本可以根据多个列的条件对Excel数据进行筛选,并将筛选结果保存到新的文件中。在实际数据分析中,我们常常需要根据多个条件来筛选出符合要求的数据,使用这个脚本可以方便地实现多条件筛选。

10. 对Excel中的日期列进行格式化

import pandas as pd
def format_date_column(file_path, column_name, date_format): df = pd.read_excel(file_path) df[column_name] = pd.to_datetime(df[column_name]).dt.strftime(date_format) df.to_excel(file_path, index=False)
format_date_column('example.xlsx', '日期', '%Y-%m-%d')print("日期列格式化成功!")

解释

此脚本用于对Excel文件中指定的日期列进行格式化。在处理日期数据时,不同的业务需求可能需要不同的日期格式,通过这个脚本可以将日期列转换为我们需要的格式,方便后续的数据分析和展示。

关注码途钥匙,成为技术先锋
图片


【声明】内容源于网络
0
0
码途钥匙
欢迎来到 Python 学习乐园!这里充满活力,分享前沿实用知识技术。新手或开发者,都能找到价值。一起在这个平台,以 Python 为引,开启成长之旅,探索代码世界,共同进步。携手 Python,共赴精彩未来,快来加入我们吧!
内容 992
粉丝 0
码途钥匙 欢迎来到 Python 学习乐园!这里充满活力,分享前沿实用知识技术。新手或开发者,都能找到价值。一起在这个平台,以 Python 为引,开启成长之旅,探索代码世界,共同进步。携手 Python,共赴精彩未来,快来加入我们吧!
总阅读43
粉丝0
内容992