Python读取Word表格数据及批量处理的方法

阅读: 评论:0

2024年1月26日发(作者:)

Python读取Word表格数据及批量处理的方法

软件研发与应用SOFTWARE

DEVELOPMENT

&

APPLICATIONPython读取Word表格数据及批量处理的方法闫海忠打闫远2(1.云南大学生态学与地植物学研究所,昆明650504;

2.云南省文化和旅游厅,昆明650200)摘

要:Python目前最新版本为3.9.1,由荷兰人Guido

van

Rossum于1989年发明,如今在编程和行业

应用中几乎无人不知,在大数据和人工智能方面的应用和优势日渐明显。属于面向对象、任务的直译

式计算机程序设计语言。主要优势表现3个方面:(1)语言生态。在编程过程和环境中可以使用多种

外部编程资源,到目前为止Python语言能够提供20余万个第三方库和开源代码,几乎覆盖IT行业的

多个计算领域。(2)简单易用。Python从一开始在语句明了,语法简洁而具有完整的语法逻辑,可以

进行语句级、面向任务和面向过程的程序开发。(3)高效。Python能够编写出直接面对任务的代码,

而且效率极高,同样功能的计算任务,Python能够用较少的代码行,完成复杂程序功能。通过一个操作

磁盘文件的过程,介绍其在Word相关信息提取和处理的方法。关键词:Python语言;Word表格数据;编程框架1任务和数据源填写和处理表格是个常见的任务,没有程序之前大

都是手工方法,但批量的表格及数据处理人工方式就显

得工作量特别大和低效率。#/geoker/article/details/80149463?

from=timelineimport

os

#导入

os模块

import

win32com

#

导入

win32com

模块

因为Python丰富的第三方库内容,通过调用其

Word文件库可以直接读取Office

Word文件内容,用程

from

import

Dispatch,

constants

from

docx

import

Document

#

docx

导入

Document

#模块import

re

#

导入

#re

模块

序方法来统计分析并处理成报表。Office

Word文件目

前有两种主要类型,即:.DOX和DOCX两种版本格式,

也在一下的方法通过程序进行了转换,当程序遇到老版

的Word文件(.DOC)会将其转换成较高版本的Word

文件

(.DOCX)

后再进行读取和处理,

体现了程序方法

的功能特点和灵活性。2 Python读取和处理的表格的方法with

open(':'w‘)

as

f:

#

创建统计结果文件

('党支部年度月份党员

实现读取Word表格数据的关键是在程序中导入第

三方控件

Win32com

Docx

两个关键模块。

然后分析

数据源文件的表格特征,

分别读取各所需单元的数据并

加以处理统计,最后结果导入到一个更为简便的格式文

件中,全部的Python程序如下所列。实验调试和运行

姓名基础分1'+:'+'基础分2'+:'+'基础分3'+:

'+'基础分4'+','+'基础分5'+

','+'基础分

6'+','+'基础分

7'+','+'基础分

8'+','+'

基础分9'+','+'讲道德有品行1'+','+'讲道德有品行2'+

','+'讲道德有品行3'+','+'讲奉献有作为1'+','+'讲奉献有作为2'+','+'

讲奉献有作为3'+','+'讲奉献有作为4'+','+'讲奉献有

作为

5'+','+'

讲奉献有作为

6'+','+'加分'+','+'—票否决'+','+'总计’+、n')

print('开始工作...')

def

parse_doc(f):"""读取doc,转换为docxdoc

=

(

FileName

=

f)通过在Python

3.9.1

IDE和VS环境下。其特点是处理

和统计速度快,能够把同一目录的所有Word表格数据

文件遍列处理,

方便了许多。Python_:#

!

/usr/bin/env

python#

coding:utf-8#

author:yanshan#

51

.net/article/H

=

()n

=

me(f)

#

获取

doc

文件名

docN

=

l(r'(.+?).',str(n))for

docName

in

docN:#print(PATH)

SreeaeBBHI*>SBSI3EIEIEIEIffiEBBI!IBBBeaeBI3BigBlslBBai3IIBBEISBHI3glBBIIIIIIBSSI3aBIIIglEISa3BEIQISB>E实用第一f智慧密集if

docName[0]

!

=

'~':#word

临时文件不转换

(PATH

+弋'+

docName

+

'.docx',12,

False,

True,

False,

False,

False,

False)

#

转化

#后路径下的文件()def

parse_docx(f):"""打开读取docx,返回党员姓名和年度d

=

Document(f)for

para

in

aphs:#text

=

e('w+s+w+')zb

=

l('党支部:(.*?)年度::)

yr

=

l('年度:(.*?)月份::)

mt

=

l('月份:(.*?)党员姓名:',)

xm

=

l('党员姓名:(.*?)

:)for

z

in

zb:zz

=

zfor

y

in

yr:yy

=

yfor

m

in

mt:mm

=

mfor

x

in

xm:xx

=

xt

=

[0]#name

=

(0,4).textdf1

=

(1,4).text

#读取表格单元数据df2

=

(2,4).textdf3

=

(3,4).textdf4

=

(4,4).textdf5

=

(5,4).textdf6

=

(6,4).textdf7

=

(7,4).textdf8

=

(8,4).textdf9

=

(9,4).textdf10

=

(10,4).textdf11

=

(11,4).textdf12

=

(12,4).textdf13

=

(13,4).textdf14

=

(14,4).textdf15

=

(15,4).textdf16

=

(16,4).textdf17

=

(17,4).textdf18

=

(18,4).textdf19

=

(19,4).textdf20

=

(20,4).textdf

=

(21,4).textwith

open('','a')

as

f:

#

写入结果数据文件

(zz+','+yy+','+mm+','+xx+','+df1+','+df2+',

'+df3+','+df4+','+df5+','+df6+','+df7+','+df8+','

+

df9+','+df10+','+df11

+','+df12+','+df13+','+df14+','

+

df15+','+df16+','+df17+','+df18+','+df19+','+df20+',

'+

df

+'n')if

_name_

==

"_main_":

#主模块获取程序所在目录的

#所有Word文件w

=

ch('ation')#遍历文件WPATH

=

O

#获取当前Word文件所在的

#当前win路径doc_files

=

r(WPATH)for

doc

in

doc_files:if

xt(doc)[1

]

==

'.doc':try:parse_doc(WPATH+''+doc)except

Exception

as

e:print

(e)#WPATH

=

()

#

获取当前

Word

文件所在

#的当前win路径doc_files

=

r(WPATH)for

doc

in

doc_files:if

xt(doc)[1

]

==

'.docx':try:parse_docx(WPATH+''+doc)except

Exception

as

e:print

(e)print

('结果已存入:文件中…')print('

')i

=

input('马上打开杳看?

y

or

Y

')

#提示是否打开杳看

#

结果if

i

==

'y'

or

i

==

'Y':if

(''):

ile('')3

Python使用技巧3.1代码编辑器Python自带的代码编译(IDLE)器体验一般,大量

代码和调试起来不十分方便袁好在市面上有多个与

Python各个版本兼容性良好的Python开发编辑器袁例如:PyCharm:这是一个专门用于Python开发的IDE,

常见的代码补全、智能提示、语法检查,这个软件都支

持袁可以快速创建Django,

Flask等Python

Web框架,

使用起来非常不错。

Sublime

Text:

这是一个轻量级的代码编辑器,

跨平

台,支持几十种编程语言,包括Python,

Java,

C/C++

等,小巧灵活,运行轻快,支持代码高亮、自动补

全、语法提示,插件扩展丰富,是一个很不错的代码

编辑器。VS

Code:

Visual

Studio

Code这是微软开发的一个

跨平台的代码编辑器,界面华丽,支持常见的编程语言

开发,插件拓展丰富,不仅智能补全、语法检查、代码

高亮,还支持git功能,运行流畅,安装相关插件后,

可直接运行Python程序。Atom:这是github专门为程序员开发的一个代码编

辑器,也是款平台的,界面简洁直观,使用起来非常方

便,

自动补全、

代码高亮、

语法提示,

启动运行速度较

快,对于初学者来说,是一个很不错选择。3.2

Python网络编程框架Python

Web

主流框架有

Flask、

Django、

Tornado

等。Flask:

Flask为轻量级Web应用框架,是基于

Werkzeug

WSGI工具箱和Jinja2模板引擎,使用Python

就能快速搭建自己的网络应用程序,如企业网站或个人

博客内容。Django:

Django是以Python编写的高级,MVC风

格的开源库。Django也被称为"完美主义者的最后框

架”。它最初是为新闻网站设计的,并且允许开发人员

编写数据库驱动Web应用程序。它算是一个全能型框

架。它内置了很多模块,能快速解决大量Web难,痛

点问题。Tornado:

Tornado

是传说中性能高的框架。

它支持

异步处理的功能,

这是它的优势。

因为其他框架不具备

该功能。但Tornado也有致命缺点,那就是扩展库资源

比较少。个人认为Tornado简单易用,上手快。3.3

Python程序发布与打包Python可以说是一个描述行的脚本语言,不需要编

译即能被解释器解释执行。它的发布两种主要方式:(1)

.py文件:有的时候,可直接提供源码供用户

使用,因为对于开源项目或者源码没那么重要的,只需

要使用者自行安装Python安装依赖的各种库。(2)

.pyc

文件:

pyc

文件是

Python

解释器可以识别

的二进制码,

故发布后也是跨平台的,

需要使用者安装

相应版本的

Python

和依赖库。

通过使用

pyc

文件发布

应用,可以在一定程度上保证某些机密和算法。软件研发与应用另外,还可利用第三方工具将.py生成一个可执行

文件,这对于需要单独运行程序的用户而言,是最简

单的方式。

如利用

Pyinstaller

工具来打包成为一个

exe

文件,但要注意的是该可执行文件体积较大,执行速

度也会慢些。(1)

Pyinstaller安装方法:在Python命令行中,键

入如下命令:pip

install

pyinstaller(2)

PyInstaller

的使用:

Python

命令行中

键入

如下命令:pyinstaller

[options]

script

[script噎]

|

specfile

其中

[options]

包括多个选项,

各参数意义和用法

如下:-F

表示生成单独的可执行文件;-D

-onedir创建一个新的磁盘目录存储exe文件

(默认选项)。-w表示去掉控制台窗口,这在需要GUI界面时

有用。-c

-console,

-nowindowed

使

用 控

界 面

(默认)。-p

表示自定义需要加载的类路径,

使用情况不多。-i

表示生成的可执行文件的图标文件。例如要编译Python_,其实最简单的用法,

在和Python_word..py源代码同目录下执行命令:pyinstaller

-

F

Python_word..py这个命令成功了,会在当前目录下新增加了两个子

目录:

build

dist,

dist

所生成的可执行文件就在其

中,dist目录下包括有执行过程中所需的多个动态库文

件等。4

结语在国内的流行度已经直逼Java,逐渐在众多的行业

应用中流行起来,全球知名的编程语言流行度排行榜

TIOBE的统计显示:Python曾成为2018年度编程语言。Python作为一门高级编程语言,它的诞生虽然很偶

然,但是它得到程序员的喜爱却是必然之路。Python初

学者甚多,但要继续深入下去,有几个概念需要进一步

理解:与C语言不同,C语言编译完就是机器码,机器码

可以直接在处理器上执行。CPU可以直接读取机器码,

Python

是解释性脚本语言。

Python

脚本在执行中,

SreeaeBBHI*>SBSI3EIEIEIEIffiEBBI!IBBBeaeBI3BigBlslBBai3IIBBEISBHI3glBBIIIIIIBSSI3aBIIIglEISa3BEIQISB>E实用第一f智慧密集解释器会把代码内容读到内存里,通过Python解释器

翻译成字节码。而CPU不能直接读取字节码,需要把

字节码转换成机器码。所以Python对于C来说,就多

[6]

黄宏博.以Python语言作为咼校程序设计课程主语

言的探讨[J].教育艺术,2015:

283.[7]

闫海忠.图解手机定位信息转换为点、线和面的技

了一个字节码转换成机器码的过程,所以相对会慢。

但是人为是无法感知的。另外Python的图形界面相对

弱弱势,在桌面应用和分层数据库应用等方面还需要补

术与方法[J].电脑编程与维护技巧,2019,

2:

65-67.[8]

闫海忠.数据库全文检索引擎的设计与实现[J].

足其短板。Word表格数据处理方法仅是个初步尝试。参考文献电脑编程与维护技巧,

2018,

2:

105-109,

142.[9]

闫海忠,Aleksey

Babchenko.用

Morfik

Fx

编写适合

[1]

嵩天,礼欣,黄天羽.Python

—言程序设计基础

[M]

.

2版.北京:高等教育出版社,2017.于多种设备平台的应用实例

[J]

.

电脑编程与维护

技巧,

2017,

3:

31-34.[10]

闫海忠.用Ozi制作自己的导航地图和实现追踪技

[2]

张莉,金莹,张洁.多样化可扩展的Python教学体

系探索与实践[J].计算机教育,2017,

(8):

18-22.术

[J]

.

电脑编程与维护技巧,

2016,

19:

77-79.[11]

闫海忠.一种深度备份应用程序和数据的方法[J].

⑶张茗芳.动态语言Python探讨与比较[J].企业科

技与发展,2012,

(13)

:

57-60.[4]

沈殊璇,薄亚明.适合于科学计算的脚本语言

电脑编程与维护技巧,

2016,

18:

56-58,

68.[12]

Wing

J

M.

Computational

thinking

[J]

.

Communica­tions

of

the

ACM,

2006,

49

(3)

:

33.

[J]

.

微计算机应用,

2002,

(5)

:

289-291.[5]

狄博,王晓丹.基于Python语言的面向对象程序设

[13]

Masters

K.A

brief

guide

to

understanding

MOOCs

[J]

.

The

Internet

Journal

of

Medical

Education,

2011,计课程教学[J].计算机工程与科学,2014,

(A1):

122-125.(上接第37页)(2):

1.亠

址冬仝企仝企仝企亠

仏亠

3亠 期亠

臬亠

臬亠

央亠 処亠 処亠

址企仝企仝企亠

3亠

血亠

臬亠

期亠 臬亠 臬亠

4*继电器开关也可以配合很多外围设备。保世界范围内的兼容性。除了具有无线和超低功耗特

液位继电器的制造技术比较成熟,在使用时依据具

体情况选择相应的型号即可。4

结语性,STM32WL微控制器还包含嵌入式安全硬件功能,

如128/256位AES硬件加密、PCROP读写保护、采用

椭圆曲线加密引擎的公钥加密。对于水位控制系统的研究与设计应该与时俱进,对

水位控制系统的发展加以总结,提出了一套由4个部分

组成的统一系统模型,这4个部分分别是:核心控制部

分、通信部分、监测部分、其他外围接口。此模型基本

可以说,STM32WL单片机是一款专为物联网设计

的芯片。3.2.2液位继电器监测部分可以使用液位继电器来实现。液位继电器

适用各种水位控制系统的设计,具备很强的指导意义。

是继电器的一种,同样属于电控制设备。液位继电器通

常分为3个端子,其工作原理是利用液体的导电性,在

又面向物联网时代,选择STM32WL单片机作为控制核

心对统一的水位控制模型加以实现,可以被其他的类似

水位发生变化时,

不同的端子没于水中的状态不同,

而导电性不同,进而导致继电器电路中三极管的导通或

系统设计参考并借鉴。参考文献[1]

范陈清,张杰,王际朝,万勇,孟俊敏.基于雷达

截至状态发生变化,产生不同的高低电平信号。使用液位继电器是一种间接的水位监测方法,

作为

一种接触式设备,通过在水塔的不同高度安装液位继电

器开关,

在水位变化时触发不同的电信号,

从而可以计

水位计的海浪波高信息提取算法及其精度评价[J].

海洋科学,2014,

38

(06)

:

47-51.[2]

金波,秦燕飞.物联网产业发展及对策[J].宏观

算出相应的水位数值。液位继电器具备价格低廉、耐用

等诸多优点,并且对于各种系统都具备良好的兼容性不

会引起冲突,对于系统的改造、维护、扩展有利。而且

经济管理,2014,

(10)

:

68-69+72.[3]

崔振辉,李华宇.物联网发展现状研究[J].通信

技术,2014,

47

(08)

:

841-846.

Python读取Word表格数据及批量处理的方法

本文发布于:2024-01-26 22:07:56,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/1706278076887.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:程序   表格   代码   继电器   文件
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23