python从word中读取规则数据存到excel中

python从word中读取规则数据存到excel中,第1张

word中文件的格式如图,类似一个标准的参考文献格式,而我的需求是按照作者,论文名,期刊名,时间,期卷号存到一个excel中。

1首先,word的python读取每次读的是块。

2通过对格式的分析,确定了利用,来分割字符串,然后再用来分割上次分割的第一个字符串,这对于期刊论文很适用,对于会议论文的可用性就弱很多。

3数据的传递使用的是list而不是字典,如果有机会的话,可能字典更好用,只是时间有限。

python自带的split

并且支持反向切割,strrsplit()语法和正向一致

2re库带的split,自认为的亮点是可以支持吧不同的符号作为切割位点,例如,

rematch与research的区别

rematch只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而research匹配整个字符串,直到找到一个匹配

Python 的 re 模块提供了resub用于替换字符串中的匹配项。

语法:

from docx import Document

# 打开 word文件

f = open('随便写写行docx', 'rb')

# 读取 word文件内容

document = Document(f)

# 打印 word 文档段落内容2进制列表

# print(documentparagraphs)

# 打开一个txt文档用来写入数据

with open('result2txt', 'w') as fw:

  # 遍历 word 段落内容列表

  for context in documentparagraphs:

# 以换行符转换成列表

      text = contexttextsplit('\n')

      # 按行写入,同时换行

      fwwrite(f"{text[0]}\n")

      # 打印看看效果

      print(text[0])

fclose()

import docx

doc=docxDocument()

整数 0 表示标题是 Title 样式,这用于文档的顶部。整数 1 到 45是不同的标题层次,是主要的标题, 45是最低层的子标题。

docadd_heading('标题0',0)

docadd_heading('标题1',1)

docadd_heading('标题2',2)

docadd_heading('标题3',3)

docadd_heading('标题4',4)

docadd_heading('标题5',5)

docsave('example3docx')

1# 添加内容

paragraph = doc_add_paragraph()

run_ = paragraphadd_run("Python 博客")

2# 获取字体对象

font_ = run_font

3# 设置下划线

font_underline = True

4# 设置加粗

font_bold = True

5# 设置字体颜色

font_colorrgb = RGBColor(0xFF,0x00,0x00)

6# 设置字体大小

font_size = Pt(20)

7# 获取段落格式

paragraph_format = paragraphparagraph_format

8# 设置首行缩进

paragraph_formatfirst_line_indent = Inches(02)

9# 设置段前距,单位为英镑

paragraph_formatspace_after = Pt(10)

10# 设置段后距,单位为英镑

paragraph_formatspace_before = Pt(5)

11# 添加表格

table_ = doc_add_table(rows=2, cols=2, style="Medium Grid 1 Accent 1")

12# 填写第一行第一列内容

table_cell(0,0)text ="

13# 填写第一行第二列内容

table_cell(0,1)text =""

14# 填写第二行第一列内容

table_cell(1,0)text ="描述"

15# 填写第二行第二列内容

table_cell(1,1)text =""

16# 添加、width 属性设置大小

doc_add_picture(r"/usr/load/download/testpng", width=Inches(425))

17# 保存文档

doc_save('Python--Word 内容格式docx')

使用ospathabspath()函数来获取文件绝对路径

文件目录结构如下:

解析

假设apppy中想读取configini文件的内容,首先apppy需要知道configini的文件路径,从目录结构上可以看出,configini与apppy的父目录同级,也就是获取到apppy父目录(bin文件夹的路径)的父目录(config文件夹路径)的绝对路径再拼上configini文件名就能获取到configini文件:

首先,在apppy中测试一下:

import os

def load_file():

# 获取当前文件路径

current_path = ospathabspath(__file__)

# 获取当前文件的父目录

father_path = ospathabspath(ospathdirname(current_path) + ospathsep + "")

# configini文件路径,获取当前目录的父目录的父目录与congigini拼接

config_file_path=ospathjoin(ospathabspath(ospathdirname(current_path) + ospathsep + ""),'configini')

print('当前目录:' + current_path)

print('当前父目录:' + father_path)

print('configini路径:' + config_file_path)

load_file()

从结果中可以看到一切都正常,没有什么问题,假如现在需要从mainpy中执行apppy的load_file()方法呢?

来测试一下:

mainpy(处于同级目录):

from binapp import load_file

if __name__=='__main__':

load_file()

可以看到,获取的路径是完全没有问题的

拓展内容

python ospath 常用模块介绍

Python学习笔记(28) - Python读取word文本 - 程序员大阳的博客

1 简介 Python可以利用python-docx模块处理word文档,处理方式是面向对象的。也就是说python-docx模块会把word文档,文档中的段落、文本、字体等都看做对象,

2 相关概念 如果需要读取

请注意,所有的程序在它们第一行都是#!/usr/bin/env/python,也就是说,我们想要Python的解释器来执行这些脚本。因此,如果你想你的脚本具有执行性,请使用chmod +x your-scriptpy, 那么你就可以使用/your-scriptpy来执行它了(在本文中你将会看到这种方式)

探索platform模块

platform模块在标准库中,它有很多运行我们获得众多系统信息的函数。让我们运行Python解释器来探索它们中的一些函数,那就从platformuname()函数开始吧:

>>> import platform

>>> platformuname()

('Linux', 'fedoraechorand', '374-204fc18x86_64', '#1 SMP Wed Jan 23 16:44:29 UTC 2013', 'x86_64')

如果你已知道linux上的uname命令,那么你就会认出来这个函数就是这个命令的一个接口。在Python 2上,它会返回一个包含系统类型(或者内核版本),主机名,版本,发布版本,机器的硬件以及处理器信息元组(tuple)。你可以使用下标访问个别属性,像这样:

>>> platformuname()[0]

'Linux'

在Python 3上,这个函数返回的是一个命名元组:

>>> platformuname()

uname_result(system='Linux', node='fedoraechorand',

release='374-204fc18x86_64', version='#1 SMP Wed Jan 23 16:44:29

UTC 2013', machine='x86_64', processor='x86_64')

因为返回结果是一个命名元组,这就可以简单地通过名字来指定特定的属性,而不是必须记住下标,像这样:

>>> platformuname()system

'Linux'

platform模块还有一些上面属性的直接接口,像这样:

>>> platformsystem()

'Linux'

>>> platformrelease()

'374-204fc18x86_64'

word中doc这个格式的文件是微软特有格式,微软没有向外公开任何的api接口文档,

只能通过微软提供的OLE组件来提其COM接口,只要你的机器上安装了Offices完整的办公软件,在安装目录下面有个MSWORDOLB组件,导入这个即可。

1、相关 *** 作Excel有MSPPTOLB,EXCELexe等。

以上就是关于python从word中读取规则数据存到excel中全部的内容,包括:python从word中读取规则数据存到excel中、python如何读取word文件中的文本内容并写入到新的txt文件、python设置word文档格式内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9729770.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存