本帖最后由 angelb 于 2023-12-21 17:27 编辑
## 分享一个学习到的python库,方便大家统计数据到exsel
[Python] 纯文本查看 复制代码 # 安装方法
# pip install openpyxl
import openpyxl
from openpyxl.styles import Alignment, Border, Side
def exsel():
# 创建一个新的工作簿
workbook = openpyxl.Workbook()
# 选择第一个工作表
worksheet = workbook.active
# 设置列A的宽度为15
worksheet.column_dimensions['A'].width = 15
# 设置列B的宽度为20
worksheet.column_dimensions['B'].width = 20
# 设置列C的宽度为25
worksheet.column_dimensions['C'].width = 25
# 设置列D的宽度为10
worksheet.column_dimensions['D'].width = 15
# 设置列D的宽度为10
worksheet.column_dimensions['E'].width = 15
# 假设数据已经存在一个列表中
data = [['标题'],['测试'],['测试1'],["A"],['B'],['C'],["1"],['2'],['3']]
# 使用sorted()函数对data进行排序,按照第四子元素('D' 列中的数字)降序排序
sorted_data = sorted(data[1:len(data)-1], key=lambda x: int(x[4]), reverse=True)
# 注意,我们从data的第二行(索引1开始)开始排序,因为第一行是标题行,不需要排序。
# 将标题行添加回排序后的列表
sorted_data_with_header = [data[0]] + sorted_data + [data[-1]]
# 遍历数据并写入工作表中
for row in sorted_data_with_header:
worksheet.append(row)
# 创建单元格样式
center_alignment = Alignment(horizontal='center', vertical='center')
thin_border = Border(left=Side(style='thin'),
right=Side(style='thin'),
top=Side(style='thin'),
bottom=Side(style='thin'))
# 应用样式到单元格
for row in worksheet.iter_rows(min_row=1, max_row=len(data)):
for cell in row:
cell.alignment = center_alignment
cell.border = thin_border |