精华内容
下载资源
问答
  • 通过搜索,确实搜到了一个python操作word的模块,python-docx通过命令安装:pip install python-docx使用代码示例:#读取docx中的文本代码示例import docx#获取文档对象file=docx.Document("D:\\t...

    周末需要做一个统计word文档字数的问题,刚开始以为很简单,因为之前做过excel表格相关的任务,所以认为利用扩展模块应该比较简单。

    通过搜索,确实搜到了一个python操作word的模块,python-docx

    通过命令安装:pip install python-docx

    使用代码示例:

    #读取docx中的文本代码示例

    import docx

    #获取文档对象

    file=docx.Document("D:\\temp\\word.docx")

    print("段落数:"+str(len(file.paragraphs)))#段落数为13,每个回车隔离一段

    #输出每一段的内容

    for para in file.paragraphs:

    print(para.text)

    #输出段落编号及段落内容

    for i in range(len(file.paragraphs)):

    print("第"+str(i)+"段的内容是:"+file.paragraphs[i].text)

    拿过来自己试了一下,却报了以下的错误:

    1101923-20171016090942365-1865310586.png

    拿异常上百度搜了一下,大致的意思是python-docx这个模块貌似只支持docx文件,不支持doc。

    好吧,尝试另一种方法,使用antiword(这里使用的linux环境)

    先下载安装,地址:http://www.winfield.demon.nl/

    使用tar解压之后,分别用make 和 make install命令进行安装

    切换到安装的目录后,使用“./antiword” + doc文件名即可读取文件内容。

    1101923-20171016091603865-742861720.png

    展开全文
  • 两个简单的word文档, 各有一个表格:读取文档中的表格到列表(为演示只对单列表格操作):import docxdef 取表格(文件名):文件 = docx.Document(文件名)首个表 = 文件.tables[0]值 = []for 行 in 首个表.rows:for 格 in...

    演示如下. 两个简单的word文档, 各有一个表格:

    1288501-20190309114214894-2012825072.png

    读取文档中的表格到列表(为演示只对单列表格操作):

    import docx

    def 取表格(文件名):

    文件 = docx.Document(文件名)

    首个表 = 文件.tables[0]

    值 = []

    for 行 in 首个表.rows:

    for 格 in 行.cells:

    值.append(格.text)

    print(文件名 + " -> " + str(值))

    return 值

    表1 = 取表格('表1.docx')

    读取结果:

    表1.docx -> ['值1', '值2', '值3']

    from deepdiff import DeepDiff

    表1 = 取表格('表1.docx')

    表2 = 取表格('表2.docx')

    print(DeepDiff(表1, 表2))

    输出结果(为更可读, 已手动格式化):

    {

    'values_changed':

    {'root[1]':

    {'new_value': '值2.5', 'old_value': '值2'}

    },

    'iterable_item_added':

    {'root[3]': '值4'}

    }

    显示了修改的值和添加的值, 还挺好用. 实际的表格是两列, 需要按照某个键值作对比. 于是用字典, 正好DeepDiff也提供两个字典间的比较. 双列表文件演示:

    1288501-20190309114236229-215393067.png

    读取双列表到字典后, 进行比较:

    import docx

    from deepdiff import DeepDiff

    from pprint import pprint

    def 取表格(文件名):

    文件 = docx.Document(文件名)

    首个表 = 文件.tables[0]

    值 = {}

    for 行 in 首个表.rows:

    格 = 行.cells

    值[格[0].text] = 格[1].text

    print(文件名 + " -> " + str(值))

    return 值

    表1 = 取表格('双列表1.docx')

    表2 = 取表格('双列表2.docx')

    pprint(DeepDiff(表1, 表2), indent=2)

    输出如下:

    { 'dictionary_item_added': {"root['键3']"},

    'values_changed': {"root['键2']": {'new_value': '值2.5', 'old_value': '值2'}}}

    展开全文
  • ### 1.Pythonword文档* 要操作word文档首先需要安装python-docx库;```pip install python-docx```* 然后导入docx模块,或者从docx模块中导入Document类;```from docx import Document```* 然后使用`Document()`...

    ### 1.Python写word文档

    * 要操作word文档首先需要安装python-docx库;

    ```

    pip install python-docx

    ```

    * 然后导入docx模块,或者从docx模块中导入Document类;

    ```

    from docx import Document

    ```

    * 然后使用`Document()`创建一个word文档,若指定路径则是打开文档;

    ```

    document = Document()

    ```

    * 接着就可以在文档中插入内容,比如插入标题可以使用`add_heading()`方法,其中参数level是标题等级,0表示一级标题,1表示二级标题,以此类推。

    插入段落可以使用`add_paragraph()`方法,参数style是样式,默认不应用样式。

    还有其他例如`add_picture()`方法用来插入图片,add_table()方法插入表格等。

    最后和操作Excel一样在文档中添加完内容之后需要使用`save('文件名')`方法保存文档;

    大家可以自己查看官网:[https://python-docx.readthedocs.io/en/latest/](https://python-docx.readthedocs.io/en/latest/)

    ```

    from docx import Document

    document = Document()

    # 插入一级标题

    document.add_heading('古诗词', level=0) #插入标题

    # 添加段落

    p = document.add_paragraph('''

    人生就是一场抵达,我们总以为来日方长,可来日并不方长,我们总是在向往明天,而忽略了一个个今天,我们总是在仰望天空,却忘记要走好脚下的路。

    ''',)

    # 插入二级标题

    document.add_heading('春夜喜雨', level=1, )

    # 插入段落

    document.add_paragraph('好雨知时节,当春乃发生。', style='ListNumber')

    document.add_paragraph('随风潜入夜,润物细无声。', style='ListNumber')

    document.add_paragraph('野径云俱黑,江船火独明。', style='ListNumber')

    document.add_paragraph('晓看红湿处,花重锦官城。', style='ListNumber')

    # 保存文档

    document.save('article.docx')

    ```

    ### 2.Python读word文档

    * 要读取word文档需要在`Document()`中添加文档路径,用来打开文档;

    * 打开文档之后就可以根据需求读取文档,如paragraphs是读取文档段落,tables读取文档表格集等;

    * 在已有的文档中追加内容和写入文档一样,最后也要通过`save()`方法保存文档;

    ```

    from docx import Document

    document = Document('./article.docx')

    # 将word文档的内容一行一行的读取

    for paragraph in document.paragraphs:

    print(paragraph.text)

    document.add_paragraph('恭喜发财', style='ListNumber')

    # 保存文档

    document.save('new_artical.docx')

    ```

    参考:[https://www.9xkd.com/user/plan-view.html?id=2265170280](https://www.9xkd.com/user/plan-view.html?id=2265170280)

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69908432/viewspace-2649918/,如需转载,请注明出处,否则将追究法律责任。

    展开全文
  • python批量读取文件名方法一方法二 在数据分析中,我们有时需要提取文件名作为后用,下面为大家介绍两种方法。 需要处理的数据如下图: 方法一 path = r'C:\Users\asus\Desktop\specair\specair_spectrum' def ...

    python批量读取文件名

    在数据分析中,我们有时需要提取文件名作为后用,下面为大家介绍两种方法。
    需要处理的数据如下图:
    数据

    方法一

    path = r'C:\Users\asus\Desktop\specair\specair_spectrum'
    def ListFilesToTxt(dir,file,wildcard,recursion):
        exts = wildcard.split(" ")
        for root, subdirs, files in os.walk(dir):
            for name in files:
                for ext in exts:
                    if(name.endswith(ext)):
                        file.write(name+'\t'+"\n")
                    if(not recursion):
                        break
    
    def Test():
        dir = path
        outfile = "123.txt"
        wildcard = '.txt'
        file = open(outfile, "w")
        if not file:
            print('cannot open the file %s for writing'%outfile)
        ListFilesToTxt(dir, file, wildcard, 1)
    
        file.close()
    
    rootdir = os.getcwd()
    Test()
    
    f = open('123.txt')
    line = f.readline()
    print(line)
    

    方法二

    path = r'C:\Users\asus\Desktop\specair\specair_spectrum'
    filenames = os.listdir(path)
    filenames.sort(key=lambda x: int(x[:-4]))    # 解决自动排序问题:按照多少维排序
    out = open('123.txt', 'w')
    for name in filenames:
            out.write(name+'\n')
    out.close()
    

    得到的效果如下图:
    结果

    展开全文
  • 在之前的文章[1] [2]中,我用python-docx这个包读取外部数据,驱动了word文档的更新,相当于是实现了Excel数据往word文档的数据流动。实现的方式比起之前依靠vba用Excel驱动word更新这个文章中说的要更可靠一些。...
  • 我试图找到一种方法,如果它包含如下所示的任何字符串,将检查程序正在读取的文件的名称.我不确定这是否是正确的方法.该字符串将成为一个全局变量,因为我必须稍后在程序中使用它class Wordnet():def __init__(self):...
  • python读取word文档

    2017-10-16 09:16:00
    通过搜索,确实搜到了一个python操作word的模块,python-docx 通过命令安装:pip install python-docx 使用代码示例: #读取docx中的文本代码示例import docx#获取文档对象file=docx.Docume...
  • Python读取word文档(python-docx包)

    万次阅读 2017-08-15 09:23:44
    最近想统计word文档中的一些信息,人工统计的话。。。三天三夜吧 python 不愧是万能语言,发现有一个包叫做 docx,非常好用,具体查看官方文档:https://python-docx.readthedocs.io/en/latest/index.html (v...
  • 两个简单的word文档, 各有一个表格:读取文档中的表格到列表(为演示只对单列表格操作):import docxdef 取表格(文件名):文件 = docx.Document(文件名)首个表 = 文件.tables[0]值 = []for 行 in 首个表.rows:for 格 in...
  • python调用word接口主要用到的模板为python-docx,基本操作官方文档有说明。使用python新建一个word文档,操作就像文档里介绍的那样:1 from docx import Document2 from docx.shared import Inches34 document = ...
  • python读取word文档并作简单的文档筛选 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们...
  • python版本3.7.3,读取的文档格式为.docx 文中带有简单注释 看不懂的百度网盘下载直接查看,更改运行里面的py文件 网盘下载 Python学习交流群:1004391443 提取码:nngw import os import sys import xlrd ...
  • 前言:前两篇博客介绍了 Python 的 docx 模块对 Word 文档的写操作,这篇博客将介绍如何用 docx 模块读取已有 Word 文档中的信息。本篇博客主要内容有:1、获取文档的章节信息;2、获取段落文本信息;3、获取表格内...
  • Excel表格内容自动填充到word中的指定位置使用粘贴链接。在Excel中复制需要进入Word文档中的数据内容,然后在Word文档中,点击选择性粘贴,然后点选粘贴为链接。如何将EXCEL的文字复制到WORD的表格?打开一个需要复制...
  • word里面有2张表,需要找到第二张表,并写入execl中: 代码如下: #coding:utf-8 import os from docx import Document import win32com from win32com.client import Dispatch, constants def parse_...
  • 对于从word文档中得到的信息,我们往往需要写入excel,以便我们做后续的数据处理。在此,我们同样利用win32 的api,写入excel的方法如下:def write_excel(workbook,i_in,name_in,Gender_in,School_in,Major_in,...
  • python调用word接口主要用到的模板为python-docx,基本操作官方文档有说明。使用python新建一个word文档,操作就像文档里介绍的那样:1 from docx import Document2 from docx.shared import Inches34 document = ...
  • 参考Automate the Boring Stuff with Python中的word部分, 试用了python-docx - python-docx 0.8.7 documentation 演示如下. 两个简单的word文档, 各有一个表格: 读取文档中的表格到列表(为演示只对单列表格...
  • importosfrom win32com importclientfrom win32com.client importconstantsword= client.gencache.EnsureDispatch('Word.Application')word.Visible=0word.DisplayAlerts=0runpath= "F:\\pythonBase\\pythonex\\ch08...
  • python 读取目录 批量更改文件名

    千次阅读 2012-10-26 14:08:40
    今天做一填一些文档,文档名字有点难看,想想以后还得处理类似的,就写个python程序,...比较难看,如是写个python脚本来处理吧,把文件名一次改成"文件名*.doc",至于字符串处理,交给正则表达式,非常方便。下面贴上
  • 参考Automate the Boring Stuff with Python中的word部分, 试用了python-docx - python-docx 0.8.7 documentation 演示如下. 两个简单的word文档, 各有一个表格: 读取文档中的表格到列表(为演示只对单列表格操作):...
  • Python批量修改文件名与后缀

    千次阅读 2017-04-11 10:48:02
    有时因为文件版本的更新,后缀名会发生变化,例如Word13的docx到Word16的doc,又例如我们想修改音频文件的后缀。一个一个修改后缀名往往很麻烦,于是我们便可以写一个Python的脚本来批量处理。代码:import os files...
  • python 如何读取 excel 指定单元格内容1、首先打开上编写python的软件2后新建一个py文件,如下图所示。3、接着就是xlrd包,读取表格的函数就在这里面,如下图所示。4、然后就是打开想要读取的表格,如下图所示。5、...
  • 最近比较苦恼批量修改文件的名字,文件名字还要根据表格对应进行修改,最近刚接触python,所以想到利用python读取excel文件对文件自动化的进行改名,以下就开始进行尝试。# -*- coding: utf-8 -*-import xlrdimport ...
  • 如何用python从excel中同时提取两个列的数据,并生成dict(用xlrd)import xlrddata = xlrd.open_workbook('excelFile.xls')table = data.sheet_by_index(0) #通序获取工作colnumber_b = ord('B')-ord('A')colnumber...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,924
精华内容 3,169
关键字:

python读取word文件名

python 订阅