angelb 发表于 2023-12-21 17:23

一个基于py的excel库

本帖最后由 angelb 于 2023-12-21 17:27 编辑

## 分享一个学习到的python库,方便大家统计数据到exsel

# 安装方法
# 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, key=lambda x: int(x), reverse=True)
    # 注意,我们从data的第二行(索引1开始)开始排序,因为第一行是标题行,不需要排序。

    # 将标题行添加回排序后的列表
    sorted_data_with_header = ] + sorted_data + ]
    # 遍历数据并写入工作表中
    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

angelb 发表于 2023-12-21 17:41

data = [['标题','测试','测试1'],['A','B','C'],['1','2','3']]

把data 改成这样的上面那个写错了

angelb 发表于 2023-12-22 10:27

wapjsx 发表于 2023-12-22 08:41
我也认为,这种由电脑来处理的数据用简单的csv格式的比较方便。

若是需要手动操作的,才用openpyxl模块 ...

我一般主要用来使用的一些数据是。
每天都要发一个表,然后自己封装了一些接口。
主要他还支持修改样式。加上wx机器人,一步到位都不需要人动手

angelb 发表于 2023-12-21 17:33

大家可以把,把爬到的数据,弄成一个excel。比如每天要写的一个表,可以通过接口爬起下来,进行处理。节省自己时间

2513002960 发表于 2023-12-21 17:40

看标题我还以为是在excel里面调用PY呢。。。

q197843 发表于 2023-12-21 19:29

谢谢群主

sai609 发表于 2023-12-21 19:58

exsel是个什么鬼?

Sen 发表于 2023-12-21 21:20

这种数据直接不用库,文本写入csv,打完包不超过6M

KaneHiroshi 发表于 2023-12-21 22:42

这个很早就会了,处理excel最厉害的当然还是excel自带的vba啦,最新版本也已经加入了python,可以直接用了。

wapjsx 发表于 2023-12-22 08:41

我也认为,这种由电脑来处理的数据用简单的csv格式的比较方便。

若是需要手动操作的,才用openpyxl模块。

CIBao 发表于 2023-12-22 08:47

2513002960 发表于 2023-12-21 17:40
看标题我还以为是在excel里面调用PY呢。。。

xlwings 可以做到, 新版的excel也支持调用py, 不过好像是内测版才有
页: [1] 2
查看完整版本: 一个基于py的excel库