python处理excel第三方库_[Python] 利用python的第三方库xlrd和xlwt来处理excel数据

今天在处理excel表格的时候,有一个需要提取表格中部分数据的操作。如果人工操作的话,有将近几千行,这样重复操作劳民伤财。

所以python就派上用场了。

简单介绍一下我要处理的问题,在excel一列有层级关系的数据,以xxx-xxx-xxx-xxx的格式展示,但是我需要的是提取最后一个符号之前的数据。

废话不多说,上代码。

# _*_ coding: utf-8 _*_

import sys

import xlrd

import xlwt

test = xlrd.open_workbook(‘E:\demo.xlsx‘) # 获取新建一个test表格

sheet = test.sheet_names() # 获取sheet的名字

print(sheet)

sheet_1 = test.sheet_by_index(0) # 获取第一个sheet,我的xxlsx只有一个sheet

# 获取列数

myrows = sheet_1.nrows # 获取sheet_1的行数

print(myrows)

font0 = xlwt.Font() # 16-19行代码都是在调整单元格的字体

font0.name = "Times New Roman"

style = xlwt.XFStyle()

style.font = font0

xlsx = xlwt.Workbook() # 新建一个xlx文件,这里有一个坑,xlwt建的是xls文件,如果你命名问xlsx后缀的话,会出现打开错误

sht = xlsx.add_sheet(‘sheet1‘) # 新建一个名为sheet1的sheet

def handle(cell):

str = ‘.‘

str1 = ‘-‘

l = cell[::-1] # 把字符串反向,详细参考https://www.cnblogs.com/jasmine0627/p/9510296.html

l1 = l[l.index(str1):] # 字符串里面获取自定义字符前面的字符串,详细参考https://www.cnblogs.com/java-deft/p/9828399.html

l2 = l1[::-1]

l3 = l2[:-1]

print(l3)

return l3

cell1 = sheet_1.col_values(0, 1, 562) # 获取sheet_1中的1到562的数据,

rows = len(cell1) # 获取cell1的长度

for i in range(rows):

if isinstance(cell1[i], float):

sht.write(i, 0, ‘‘, style) # 将符合此条件的数据放入相应的单元格中

else:

sht.write(i, 0, handle(cell1[i]), style) # 将符合此条件的数据放入相应的单元格中

xlsx.save(‘E:\demo_1.xls‘) # 最后将处理后的数据保存到一张新的excel表中

代码有点粗糙,但是完成相应的操作,嘻嘻!

代码的质量还有待提高,慢慢来。

最后,人生苦短我用python!

原文:https://www.cnblogs.com/joiln/p/11623548.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值