首页 > 编程语言 >如何在Python中自动化处理word表格?

如何在Python中自动化处理word表格?

时间:2023-02-23 08:55:06浏览次数:28  
标签:sheet 读取 表格 Python 写入 excel write word

最近遇到一个问题,就是一个文档里面有很多重复操作的一些数字需要整理为excel表格,主要是方便我们后期操作使用。首先是我对这些数据做了脱敏处理,但这些坐标也都是真是存在的。再次就是其中的真实数据很多,如果想要人工拷贝出来想必麻烦的很,所以得利用我们所学的知识来快速完成这项工作。

 

解题思路

这里的关键点是提取经纬度(X和Y),X是8位的数字,Y是7位数字,我们这时候很容易想到用正则表达式。正则表达式我之前就有讲解过,不愧是YYDS。

X是8位,很好提取,直接用\d{8}就行;但是7位的Y就不能直接这样写,因为这样也会匹配到X中的数字(因为X有8位,7位小于8位,会匹配到),所以我们需要在前面和后面加上英文逗号,加以限制。

最后,要解决的就是如何读取word中的表格,和读取后怎么写入excel表中。这两个问题使用docx和xlwt库即可,别忘记安装这两个库。

pip install python-docx
pip install xlwt

实现代码

下面就是我写的代码,都加了注释,希望大家自己也尝试写一下。

from docx import Document #用于读取word
import re #正则表达式库
import xlwt #写入excel的库

# 创建excel工作簿和sheet,在第一行写入表头。
workbook = xlwt.Workbook(encoding='utf-8')
sheet = workbook.add_sheet('点位')
sheet.write(0, 0, "点位")
sheet.write(0, 1, "X")
sheet.write(0, 2, "Y")

# 读取word,并获取word中的第一个表
doc = Document('坐标.docx')
tb1 = doc.tables[0]

# 定义临时变量,用于一行行写入数据到excel。
j = 1

# 读取word表中的数据,正则表达式提取后写入excel中。
for i in range(len(tb1.rows)):
    if i == 0:
        continue
    title = tb1.cell(i, 0).text
    coordinate = tb1.cell(i, 3).text
    lons = re.findall('(\d{8})', coordinate)
    lats = re.findall(',(\d{7}),', coordinate)
    for lon, lat in zip(lons, lats):
        sheet.write(j, 0, title)
        sheet.write(j, 1, lon)
        sheet.write(j, 2, lat)
        j += 1
    print(title, lons, lats)

# 保存文件
workbook.save('test.xls')

最后,大家有没有碰到过类似重复操作的任务,大家平时是怎么做的,留言和我讨论吧~

标签:sheet,读取,表格,Python,写入,excel,write,word
From: https://www.cnblogs.com/q-q56731526/p/17146659.html

相关文章

  • python 把mysql数据导入到execl中
    importpymysqlimportpandasaspddb=pymysql.connect(host='127.0.0.1',user='root',passwd='123456',port=3306,database='world',......
  • Python 处理数据集中的空值
    在Python中,可以使用多种方法处理数据中的空值,以下是一些常见的处理方法:1、删除空值:可以使用pandas库中的dropna方法删除数据中的空值,例如:importpandasaspddf=pd.re......
  • python 解析文件【案例3】
    使用python进行二进制数据处理的方法。方法一:使用struct模块,特点轻量化,简单易用。缺点就是可读性不是太好,使用小数据临时使用一下,对于大量的数据解析,写起来比较繁琐,显得有......
  • Python_Selenium报错:AttributeError: 'WebDriver' object has no attribute 'find_ele
    写法:self.driver.find_element_by_name("wd"),会报错_AttributeError:'WebDriver'objecthasnoattribute'find_element_by_name'  查了下资料原因:`find_element......
  • python 日志解析【案例2】
     要做的事:  1:获取日志内标红的数据(ipython模式正则捕获如下图)         2:转换相关选项的md5和反编码值  3:根据dm值和上个小时的年月日(......
  • Python 解析log日志【案例1】
    sudoaptinstallpython3.8#安装python3python3.8-mpipinstallpython-dateutil#安装dateutil包[2021-09-0311:03:11]**************************E......
  • 自学python-安装python/pycharm-day03
    安装解释器/学习工具pycharm1.Python简介诞生python的创始人为吉多·范罗苏姆(GuidovanRossum),一般称龟叔。1989年的圣诞节期间,龟叔为了在阿姆斯特丹打发时间,决心......
  • 自学python-计算机基础原理-day02
    python学习第一课什么是python?python是一门编程语言什么是编程语言呢就是人与电脑交互的语言我们用python编写自己想要得软件而python把我们写的语言转化成计算机看......
  • python+playwright 学习-9.页面对象模型Page Object Models
    前言POM(PageObjectModels)页面对象模型已经成了写web自动化的一个标准模型。页面对象模型PageObjectModels页面对象代表Web应用程序的一部分。电子商务Web......
  • 自学python-学习路线-day01
    python自学线路图1.python基础语言1.1变量1.2运算符1.3判断语句if1.4循环语句whliefor1.5函数1.6面向对象2.多线程2.1异常处理2.2文件i/o3.数据结......