分享八个适用于Excel自动化的Python脚本Python 列表的 sort() 函数使用解析
要在Excel自动化任务中使用Python脚本,可以借助各种库,如pandas
、openpyxl
和xlrd
等。这些库提供了强大的功能,可以实现数据的读取、写入和分析。下面是八个适合用于Excel自动化的Python脚本示例:
读取Excel文件
import pandas as pd
# 读取Excel文件的第一张工作表
df = pd.read_excel('yourfile.xlsx')
print(df.head())
写入数据到Excel文件
import pandas as pd
# 创建一个DataFrame并写入新的Excel文件
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)
df.to_excel('output.xlsx', index=False)
读取特定的工作表
df = pd.read_excel('yourfile.xlsx', sheet_name='Sheet2')
print(df.head())
添加/修改工作表中的数据
from openpyxl import load_workbook
# 加载工作簿并选择工作表
workbook = load_workbook('yourfile.xlsx')
sheet = workbook.active
# 修改或添加数据
sheet['A1'] = 'Updated Value'
workbook.save('yourfile.xlsx')
过滤数据
import pandas as pd
df = pd.read_excel('yourfile.xlsx')
# 筛选年龄大于25岁的人
filtered_df = df[df['Age'] > 25]
print(filtered_df)
数据排序
import pandas as pd
df = pd.read_excel('yourfile.xlsx')
# 对数据按照年龄升序排列
sorted_df = df.sort_values(by='Age')
print(sorted_df)
合并多个Excel文件
import pandas as pd
import glob
all_data = pd.DataFrame()
# 获取所有Excel文件
for file in glob.glob('*.xlsx'):
df = pd.read_excel(file)
all_data = all_data.append(df, ignore_index=True)
all_data.to_excel('merged_output.xlsx', index=False)
通过条件格式化Excel单元格
from openpyxl import load_workbook
from openpyxl.styles import PatternFill
workbook = load_workbook('yourfile.xlsx')
sheet = workbook.active
# 设定条件格式化:如果单元格的值大于25,则填充黄色
fill_pattern = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')
for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row, min_col=1, max_col=sheet.max_column):
for cell in row:
if isinstance(cell.value, (int, float)) and cell.value > 25:
cell.fill = fill_pattern
workbook.save('yourfile.xlsx')
关于sort()
函数解析:
- sort()
是Python列表的一个内置方法,用于就地排序列表,而无需返回新列表。
- sort()
方法参数:
- key
(可选):一个函数,如果提供,将在排序时对列表中的每个元素调用该函数。
- reverse
(可选):如果为True,列表将按降序排列。
示例:
numbers = [5, 2, 9, 1]
numbers.sort() # 升序排序
print(numbers) # 输出: [1, 2, 5, 9]
numbers.sort(reverse=True) # 降序排序
print(numbers) # 输出: [9, 5, 2, 1]
# 按字符串长度排序
words = ["banana", "pie", "apple"]
words.sort(key=len)
print(words) # 输出: ['pie', 'apple', 'banana']
这些工具和方法结合可以极大地简化和自动化Excel相关的数据处理任务。