ctime时间转换以及表格按照内容自动调整列宽

本文介绍了如何使用Python中的`datetime`和`openpyxl`库来处理Excel文件。首先,将时间字符串从'SatMar0501:35:04+08002022'格式转换为'2022/03/0501:35:04'格式,然后动态调整表格列宽以适应单元格内容的长度。这段代码展示了如何遍历工作表,修改日期格式,并计算最优列宽,实现数据处理自动化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做爬虫时候,需要将时间格式从 "Sat Mar 05 01:35:04 +0800 2022"转换到2022/03/05 01:35:04

以及需要做调整表格列宽,根据表格内容

涉及到代码如下:

import time
import datetime
wb_obj = load_workbook("media.xlsx")
ws1 = wb_obj.active
# modify date format
for i in range(2,ws1.max_row + 1):
    cell_obj = ws1.cell(row=i,column=10)
    d = datetime.datetime.strptime(cell_obj.value, "%a %b %d %H:%M:%S %z %Y")
    cell_obj.value = d.strftime('%Y/%m/%d %H:%M:%S')

from openpyxl import Workbook
#use in HandleExcel
from openpyxl.utils import get_column_letter
# get max colum width,Adjust column width according to text content
lks = []
for i in range(1,ws1.max_column):
    lk = 1
    for j in range(1,ws1.max_row + 1):
        sz = ws1.cell(row=j,column=i).value
        if isinstance(sz,str):
            lk1 = len(sz.encode('utf-8'))
        else:
            lk1 = len(str(sz))
        if lk < lk1:
            lk = lk1
    lks.append(lk)
for i in range(1,ws1.max_column):
    k = get_column_letter(i)
    ws1.column_dimensions[k].width = lks[i-1]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值