今天在处理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!

[Python] 利用python的第三方库xlrd和xlwt来处理excel数据的更多相关文章

  1. Python安装第三方库 xlrd 和 xlwt 。处理Excel表格

    1. 到   https://pypi.python.org/simple/xlwt/ 和https://pypi.python.org/simple/xlrt/ 下载 xlrd  和  xlwt  ...

  2. python第三方库——xlrd和xlwt操作Excel文件学习

    python第三方库——xlrd和xlwt操作Excel文件学习 1安装: C:\Users\Lenovo>pip install xlwtCollecting xlwt  Downloadin ...

  3. Python之excel第三方库xlrd和xlwt

    Python读取excel表格的库xlrd,首先安装xlrd: pip3 install xlrd 代码: #!usr/bin/env python3 #!-*-coding=utf-8 -*- '' ...

  4. Python常用的数据文件存储的4种格式(txt/json/csv/excel)及操作Excel相关的第三方库(xlrd/xlwt/pandas/openpyxl)(2021最新版)

    序言:保存数据的方式各种各样,最简单的方式是直接保存为文本文件,如TXT.JSON.CSV等,除此之外Excel也是现在比较流行的存储格式,通过这篇文章你也将掌握通过一些第三方库(xlrd/xlwt/ ...

  5. Python中使用第三方库xlrd来写入Excel文件示例

    Python中使用第三方库xlrd来写入Excel文件示例 这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表 ...

  6. python 操作excle 之第三方库 openpyxl学习

    目录 python 操作excle 之第三方库 openpyxl学习 安装 pip install openpyxl 英文文档链接 : 点击这里~ 1,定位excel 2,读取excle中的内容 3, ...

  7. Python用pip安装第三方库时换源下载

    pip默认是从Python官网下载第三方库,从国外下载当然不如从国内下载来得快 豆瓣:https://pypi.doubanio.com/simple 还有其它源,阿里云等等,一个就够用了 用pip安 ...

  8. [置顶] android利用jni调用第三方库——第三篇——编写库android程序整合第三方库libhello.so到自己的库libhelloword.so

    0:前言: 在第二篇中,我们主要介绍了丙方android公司利用乙方C++公司给的动态库,直接调用库中的方法,但是这样方式受限于: 乙方C++公司开发的动态库是否符合jni的规范,如果不规范,则不能直 ...

  9. [置顶] android利用jni调用第三方库——第二篇——编写库android程序直接调用第三方库libhello.so

    0:前言 1:本文主要作为丙方android公司的身份来写 2:作者有不对的地方,请指出,谢谢 [第一篇:android利用jni调用第三方库——编写库libhello.so] [第二篇:androi ...

  10. 人生苦短之我用Python篇(安装第三方库、正则表达式)

    安装第三方库 两种方法, 一.在DOS界面下运行 pip3 install requests 二.切换至request目录下 cd E:\ python3 setup.py install ----- ...

随机推荐

  1. Stable Diffusion AIGC:3步成为P图大师

    摘要:instructPix2Pix文字编辑图片是一种纯文本编辑图像的方法,用户提供一张图片和文本编辑指令,告诉模型要做什么,模型根据编辑指令编辑输入的图像,最终输出用户想要的图像. 本文分享自华为云 ...

  2. 【WebRtc】获取分享屏幕

    分享前页面 获取分享屏幕 Code /** * 开始屏幕共享 */ openShareScreen() { var that = this // 判断是否支持获取本地屏幕分享数据 if (!navig ...

  3. 现代C++(Modern C++)基本用法实践:四、模板

    概述 C++的模板是泛型编程思想的一种实现.C++是强类型语言,处处强调类型.同样的加法运算,int和float的加法运算需定义两个函数(重载),而使用模板则可以只用一个函数(见下面示例). 这类似我 ...

  4. 前端Vue自定义开屏启动广告组件,点击广告图跳转广告详情

    随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身. 通过组件化开发,可以有 ...

  5. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream

    伪 分布模式下启动spark报错 从spark1.4以后,所有spark的编译都是没有将hadoop的classpath编译进去的,所以必须在spark-env.sh中指定hadoop中的所有jar包 ...

  6. 2023-7-27WPF的ContextMenu的传参绑定方式

    WPF的ContextMenu的绑定方式 [作者]长生 ContextMenu为何不能正常绑定 在wpf中ContextMenu和ToolTip一样都是弹出层,与VisualTree已经分离了,只不过 ...

  7. 2021-3-13 xml的增删改查

    public void XmlAdd(string filename, List<People> pList) { try { List<People> peoples = X ...

  8. 好用工具:Wappalyzer

    说明 这个插件可以检测到网站使用的技术栈,是一个好玩的技术嗅探插件 安装 使用

  9. error: failed to push some refs to 'https://gitee.com/xxxxxxxxx/xxxxxxxt'

    原因是ReadMe文件不在本地中, 此时我们要执行git pull --rebase origin master命令README.md拉到本地, 任何然后执行git push origin maste ...

  10. 学好Elasticsearch系列-索引的批量操作

    本文已收录至 Github,推荐阅读 Java 随想录 微信公众号:Java 随想录 先看后赞,养成习惯. 点赞收藏,人生辉煌. 目录 基于 mget 的批量查询 基于 bulk 的批量增删改 增加 ...