(一)python 格式化 excel 格式

(一)python 格式化 excel 格式,第1张

概述需求:   客户通过 sftp 上传了一个 poc测试的 excel文件, 下到 云桌面 查看,发现一堆格式问题, 怎么办呢? 公司又不允许 吧文件下载到本地处理, 只能在 服务器上进行处理。 一堆的类型需要转换, 时间格式也是错误的,想想 可以借助 python 来做处理, 转成 csv格式,都转成 string 格式,接口也符合。   说罢,就这么干。 因为没怎么写过 python, 内心还是 需求:   客户通过 sftp 上传了一个 poc测试的 excel文件, 下到 云桌面 查看,发现一堆格式问题, 怎么办呢? 公司又不允许 吧文件下载到本地处理, 只能在 服务器上进行处理。 一堆的类型需要转换, 时间格式也是错误的,想想 可以借助 python 来做处理, 转成 csv格式,都转成 string 格式,接口也符合。   说罢,就这么干。 因为没怎么写过 python, 内心还是 恐惧的。 找了一个 解析 excel 的demo, 找个 改了改,以前处理excel 文件,打印字段测试是可以的, 问题1、这次 放到 服务器上运行 居然 读取第一个 单元格的字段就报 编码问题。

知道是编码问题,但是不知道why(以前在本地也处理过文件,没有问题。) 咨询了以前python 大神, 让我 encode(‘utf-8‘) 试试。  

再执行成功了。 虽然还是不知道why ,文件本身就是 设置为 utf8 的编码。(还没去深究!!!!!)   2、内容转成 csv文件后,发现 顺序 不符合要求,想了一下,也想不出什么高端的方法,只得用最low的方法  

庆幸的是处理的 内容还是比较少。不存在性能之说。
问题3: 字符串中有 表情符,没处理成功【网上找了几个 demo 都测试 不通过,就先不管了,直接先存库了】

总结: 在用python 处理 格式过程中,感觉也不是很难,难点是不知道可以用 哪些 包 可以处理,一些基本的 语法问题。 只是文本处理的话,还是不难的。   主要代码如下:(别笑,我只是个python小白)
‘‘‘    读 excel文件‘‘‘def read_from_excel(@R_301_6852@path):    data = xlrd.open_workbook(@R_301_6852@path)    table = data.sheets()[0]    nor = table.nrows    nol = table.ncols    print row: %d,colume: %d % (nor,nol)    resutl = []    for i in range(1,nor):        dict = {}        flag = True    #    if i == 10:     #       break        for j in range(nol):            Title = table.cell_value(0,j).encode(utf-8)            print(str(i) + -- + str(j) + ---+ Title)            #print(chardet.detect(table.cell_value(i,j)))            value = (str(table.cell_value(i,j).encode(utf-8)).replace(\n,‘‘))            print(str(i) + -- + str(j) + ---+value)                # print value            if Title == IDentitu_type:                if value == SSS:                    value = SSS card                elif value == PAsspORT:                    value = Passport                elif value == DRIVERliCENCE:                    value = "Driver‘s license"                elif value == PHILHEALTH:                    value = "PhilHealth"                elif value == UMID:                    value = "UMID"                else:                    flag = False            print(str(i) + -- + str(j) + ---+value)            dict[Title] = remove_emoji(value)        if flag:            resutl.append(dict)    return resutl
‘‘‘    字典转 csv文件‘‘‘def nestedList2csv(List,out_@R_301_6852@):    with open(out_@R_301_6852@,wb) as f:        Title = []        w = csv.writer(f)        fIEldnames=List[0].keys()  # solve the problem to automatically write the header        print fIEldnames               Title = [name,ID_card,phone,IDentitu_type,Date]        w.writerow(Title)        for row in List:            print(row.values)            value = [row[name],row[ID_card],row[phone],row[IDentitu_type],row[Date]]            w.writerow(value)
总结

以上是内存溢出为你收集整理的(一)python 格式化 excel 格式全部内容,希望文章能够帮你解决(一)python 格式化 excel 格式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1195744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存