精华内容
下载资源
问答
  • from tkinter importTkfrom time importsleepfrom tkinter.messagebox importshowwarningimportwin32com.client as win32warn=lambda app: showwarning(app,'...')RANGE=range(3,8)defword():app='word'word=win32...

    from tkinter importTkfrom time importsleepfrom tkinter.messagebox importshowwarningimportwin32com.client as win32

    warn=lambda app: showwarning(app,'Exit?')

    RANGE=range(3,8)defword():

    app='word'word=win32.gencache.EnsureDispatch('%s.Application'%app)

    doc=word.Documents.Add()

    word.Visible=True

    sleep(1)

    rng=doc.Range(0,0)

    rng.InsertAfter('Python-to-%s Test\r\n\r\n'%app)

    sleep(1)for i inRANGE:

    rng.InsertAfter('Line %d\r\n'%i)

    sleep(1)

    rng.InsertAfter("\r\nTh-th-th-that's all folks!\r\n")

    warn(app)

    doc.Close(False)

    word.Application.Quit()if __name__=='__main__':

    Tk().withdraw()

    word()

    展开全文
  • /usr/bin/python3 # -*- coding: utf-8 -*- # @Time : 2019/2/20 14:12 # @File : date_del.py from docx import Document # 导入库 """ word表格中 """ path = "C:\\Users\\1\\Desktop\\福建省质监局标准信息资源...

    一、修改数据类型(中英)

    需求:

    1383841-20190220154257918-847958095.png

    代码:

    #-*-coding:gbk*-

    import os

    import docx

    #from docx.enum.table import WD_TABLE_ALIGNMENT

    from docx.enum.text import WD_ALIGN_PARAGRAPH

    filepath = r'f:/1/'

    def main():

    docxlist = os.listdir(filepath)

    for mydocx in docxlist:

    newdocx = docx.Document(filepath + str(mydocx))

    #newdocx.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER

    table = newdocx.tables

    for oTable in table:

    rows_num = len(oTable.rows)

    columns_num = len(oTable.columns)

    if columns_num >= 5:

    for j in range(rows_num):

    #English -> Chinese

    ostring = oTable.cell(j, 3).text

    oTable.cell(j, 4).paragraphs[0].paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER

    if ostring == 'TIMESTAMP':

    oTable.cell(j, 3).text = ostring.replace("TIMESTAMP", "时间戳")

    oTable.cell(j, 4).text = ""

    elif ostring == 'VARCHAR2':

    oTable.cell(j, 3).text = ostring.replace("VARCHAR2", "字符串")

    if ostring == 'DATE':

    oTable.cell(j, 3).text = ostring.replace("DATE", "日期")

    oTable.cell(j, 4).text = ""

    elif ostring == 'NUMBER':

    oTable.cell(j, 3).text = ostring.replace("NUMBER", "整数")

    elif ostring == 'FLOAT':

    oTable.cell(j, 3).text = ostring.replace("FLOAT", "小数")

    #oTable.alignment = WD_TABLE_ALIGNMENT.CENTER

    newdocx.save('f:/2/'+ str(mydocx))

    if __name__ == '__main__':

    main()

    二、数据类型为日期时,清空位数内容

    需求:

    1383841-20190220154028119-292595581.png

    代码:

    #!/usr/bin/python3

    # -*- coding: utf-8 -*-

    # @Time : 2019/2/20 14:12

    # @File : date_del.py

    from docx import Document # 导入库

    """

    word表格中

    """

    path = "C:\\Users\\1\\Desktop\\福建省质监局标准信息资源目录.docx" # 文件路径

    document = Document(path) # 读入文件

    tables = document.tables # 获取文件中的表格集

    one_cells = []

    for table in tables:

    rows_num = len(table.rows)

    columns_num = len(table.columns)

    if rows_num > 2 and columns_num == 4:

    for i in range(1, rows_num): # 第二行开始

    if table.cell(i, 3).text == '日期' or table.cell(i, 1).text == '日期':

    one_cells.append(table.cell(0, 1).text)

    for j in range(0, columns_num):

    if table.cell(0, 1).text in one_cells:

    if table.cell(i, j).text == '位数':

    table.cell(i, j + 1).text = ''

    document.save("C:\\Users\\1\\Desktop\\1\\福建省质监局标准信息资源目录.docx")

    # 校验修改内容

    for i in one_cells:

    print(i)

    三、表格中添加单元格

    需求:

    1383841-20190225161906953-1925928810.png

    参考:https://www.jianshu.com/p/9da61bf35cb7

    代码:

    #!/usr/bin/python3

    # -*- coding: utf-8 -*-

    # @Time : 2019/2/25 9:52

    # @File : table_add_cell.py

    from docx import Document

    from docx.enum.text import WD_ALIGN_PARAGRAPH

    from docx.oxml.ns import qn

    from docx.shared import Pt

    """

    word表格,添加一个单元格以及内容

    """

    path = "C:\\Users\\1\\Desktop\\成都市质量技术监督局标准层信息资源目录.docx" # 文件路径

    document = Document(path) # 读入文件

    # 设置字体为: 宋体

    document.styles['Normal'].font.name = u'宋体'

    document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')

    tables = document.tables # 获取文件中的tables

    # 被修改表格的列表

    one_cells = []

    def match_table():

    """

    遍历文档匹配满足条件的表格

    :return:

    """

    for table in tables:

    rows_num = len(table.rows)

    columns_num = len(table.columns)

    if rows_num > 2 and columns_num == 4:

    one_text = table.cell(0, 1).text

    if len(one_text) == 29:

    one_cells.append(one_text)

    end_text = table.cell(rows_num - 1, columns_num - 1).text

    if end_text:

    # 添加一行

    table.add_row()

    set_font(table, 5, 0)

    else:

    set_font(table, rows_num - 1, columns_num - 2)

    document.save("C:\\Users\\1\\Desktop\\1\\python_word_table_add_cell.docx")

    def set_font(table, a, b):

    """

    设置表格字体样式

    :param table: 表格

    :param a: 行坐标

    :param b: 列坐标

    :return:

    """

    run = table.cell(a, b).paragraphs[0].add_run(u'信息资源生产格式') # 内容为:信息资源生产格式

    run.bold = True # 加粗

    run.font.size = Pt(9) # 字体大小:小五-9

    table.cell(a, b).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER # 居中

    run1 = table.cell(a, b + 1).paragraphs[0].add_run(u'ORACLE')

    run1.font.size = Pt(9)

    table.cell(a, b + 1).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER

    def check_data():

    # 校验修改内容

    for i in one_cells:

    print(i)

    if __name__ == '__main__':

    match_table()

    check_data()

    展开全文
  • 之前写过一篇 Python办公自动化 | 批量word报告生成工具 ,有小伙伴提出了逆向需求,即:从批量word中获取内容并写入excel,需求背景是汇总一些材料,举例:实习鉴定表、个人简历、档案等。实际需求是这样的,现在有...

    之前写过一篇 Python办公自动化 | 批量word报告生成工具 ,有小伙伴提出了逆向需求,即:从批量word中获取内容并写入excel,需求背景是汇总一些材料,举例:实习鉴定表、个人简历、档案等。

    实际需求是这样的,现在有如下格式的若干word文档,需要录入标黄信息到excel,手工录入效率太低了,能不能用python实现呢?答案是肯定的

    安装 docx

    pip install pothon-docx

    导入 docx

    from docx import Document

    读取 word 文件

    doc=Document('模板.docx')

    读取表格

    tb=doc.tables

    读取行

    rows=tb[0].rows

    读取列

    cols=rows[0].cells

    读取单元格cell=cols[0]

    text=cell.text

    单个文件内容获取

    docx 读取word中的表格时会按照最大行和最大列对表格取消合并单元格,比如样例文件,最大行数是5,最大列数是8,他就给扩展成5 * 8的表格,而且数据自动向右填充。分析样例文件结果,需要获取的数据在前三行(起始编号0),第一行是获取1、3、5、7列值(起始编号0),第二行是获取3、5、7列值,第3行是获取3、7列值 获取单个文件3行标黄文字程序如下:row = []

    # 获取第一行数据

    for i in range(1,8,2):

    cell = tb.cell(0, i)

    txt = cell.text if cell.text != '' else ' ' # 无内容用空格占位

    row.append(txt)

    # 获取第二行数据

    for j in range(3,8,2):

    cell = tb.cell(1, j)

    txt = cell.text if cell.text != '' else ' ' # 无内容用空格占位

    row.append(txt)

    # 获取第三行数据

    for k in range(3,8,4):

    cell = tb.cell(2, k)

    txt = cell.text if cell.text != '' else ' ' # 无内容用空格占位

    row.append(txt)

    多个文件内容获取

    单个文件内容获取了,批量就好说了,只要传入一个文件夹,遍历文件夹获取想要的文件就可以了,通用代码示例如下:path = input('请输入文件夹路径: ')

    files = os.listdir(path)

    docx_list = []

    for f in files:

    if os.path.splitext(f)[1] == '.docx':

    docx_list.append(path + '\\' + f)

    else:

    pass

    通过如上代码获取了文件夹下所有的docx文件,采用list嵌套list的方法批量获取内容mat = []

    for n in range(len(docx_list)):

    doc=Document(docx_list[n])

    tb=doc.tables[0]

    # print(len(tb.rows), len(tb.columns)) # 行数、列数

    row = []

    # 获取第一行数据

    for i in range(1,8,2):

    cell = tb.cell(0, i)

    txt = cell.text if cell.text != '' else ' ' # 无内容用空格占位

    row.append(txt)

    # 获取第二行数据

    for j in range(3,8,2):

    cell = tb.cell(1, j)

    txt = cell.text if cell.text != '' else ' ' # 无内容用空格占位

    row.append(txt)

    # 获取第三行数据

    for k in range(3,8,4):

    cell = tb.cell(2, k)

    txt = cell.text if cell.text != '' else ' ' # 无内容用空格占位

    row.append(txt)

    mat.append(row)

    写入 excel

    由于pandas太庞大了,杀鸡焉用牛刀,此处采用xlwt写入excel。创建工作簿

    workbook = xlwt.Workbook(encoding = 'utf-8')添加sheet(支持覆盖写入)

    xlsheet = workbook.add_sheet("Sheet1",cell_overwrite_ok=True)添加表头table_head = ['xNAME','xSEX','xDANG','xZHI','xYUNA','xBAN','xHAO','xTIME','xPLACE']

    headlen = len(table_head)

    for i in range(headlen):

    xlsheet.write(0,i,table_head[i])写入数据for i in range(len(mat)):

    for j in range(len(row)):

    xlsheet.write(i+1,j,mat[i][j])保存工作簿 xlwt 主要是支持 .xls文件格式

    workbook.save('学生实习鉴定表.xls')

    执行程序便得到如下汇总内容:

    展开全文
  • 1.网上看到:其中包括,Python中,如何读取excel文件,如何写入数据到excel文件等等相关的库。看起来应该是这方面的资料中,总结的最好的了.2.此处暂时只需要写入数据到Excel,所以就去参考:去看看示例代码:貌似用...

    1.网上看到:

    其中包括,Python中,如何读取excel文件,如何写入数据到excel文件等等相关的库。

    看起来应该是这方面的资料中,总结的最好的了.

    2.此处暂时只需要写入数据到Excel,所以就去参考:

    去看看示例代码:

    貌似用起来还算简单。

    然后去主页:

    下载xlwt-0.7.4.tar.gz后,解压。

    然后参考:

    去用setup.py install去安装:

    然后继续参考:

    去试试示例代码:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    import xlwt;

    from datetimeimport datetime;

    style0= xlwt.easyxf('font:

    name Times New Roman, color-index red, bold on',num_format_str='#,##0.00');

    style1= xlwt.easyxf(num_format_str='D-MMM-YY');

    wb= xlwt.Workbook();

    ws= wb.add_sheet('A

    Test Sheet');

    ws.write(0,0,1234.56,

    style0);

    ws.write(1,0,

    datetime.now(), style1);

    ws.write(2,0,1);

    ws.write(2,1,1);

    ws.write(2,2,

    xlwt.Formula("A3+B3"));

    wb.save('example.xls');

    然后是可以正常执行,生成对应的excel文件的,效果为:

    sg_trans.gif

    接下来,就是如何利用此库的事情了。

    【总结】

    想要在Python中,将数据导出到Excel文件中,可以利用xlwt,很是方便。在此感谢作者们。

    以上代码可以运行,我是用easy_install安装的,还有一个代码方式是原来库的需要测试。感觉更方便

    fromXLSWriterimportXLSWriterxlswriter=XLSWriter(u'陕西.xls')xlswriter.writerow(['姓名','年龄','电话','QQ'],sheet_name=u'基本信息')xlswriter.writerow(['张三','30','13512345678','123456789'],sheet_name=u'基本信息')xlswriter.writerow(['学校','获得学位','取得学位时间'],sheet_name=u'学习经历')xlswriter.writerow(['西安电子科技大学','学士','2009'],sheet_name=u'学习经历')xlswriter.writerow(['西安电子科技大学','硕士','2012'],sheet_name=u'学习经历')xlswriter.writerow(['王五','30','13512345678','123456789'],sheet_name=u'基本信息')# don't forget to save data to diskxlswriter.save()

    展开全文
  • 1.环境 安装pip install pywin32pip install python-docx2.关键代码,根据表格标题搜索内容#根据标题获取同一行的值def find_row_value(d,sts):lists=[]tlen=len(d.tables)#print("tlen"+str(tlen))for i in range(0...
  • pythonword表格写入excel

    千次阅读 2019-09-30 20:15:57
    想将一份 word 文件中的几个表格写入 excel 文件中,后续用 excel 处理。 用到 python-docx 和 pandas 分别处理 word 和 excel。 安装 python-docx:pip install python-docx,它不接受 .doc 文件,先转存为 .docx...
  • python统计word表格写入excel

    千次阅读 2018-09-13 16:23:22
    环境:python 3.5 所用库:os,docx,xlwt pip install一下啦! 收到一份特别恶心的任务,大概是这样的:领导给了一个文件夹,包含了公司不同部门,子公司的项目,文件夹内嵌套了项目图片,设计图纸,乱七八糟,...
  • 在工作中可能需要两者对...3、将excel文档数据写入word表格对应的位置;4、循环需要用到的模块创建表格,由于我需要的表格需要进行合并处理,所以使用merge合并单元格接下来,读取excel文档数据然后,将excel数据...
  • 现在我用pythonword表格中的数据通过for循环从第二行开始提取出来了,还有很多空行没处理掉for table in d.tables: for row in table.rows[2:]: for cell in row.cells: return(cell.text)请问谁知道如何处理...
  • Python 写入Word

    2019-10-08 10:37:52
    首先要下载库 Python -docx. 可以直接pip下载,pip install ...# coding:utf-8from docx import Documentfrom docx.shared import Inchesdocument = Document()document.add_heading(u'Python 操作Word实例', 3)...
  • 可以直接pip下载,pip install python-docx# coding:utf-8from docx import Documentfrom docx.shared import Inchesdocument = Document()document.add_heading(u‘Python 操作Word实例‘, 3) #直接添加标题#先定义...
  • python 读取word 表格写入excel

    千次阅读 2019-04-11 21:33:39
    以上word表格汇总为下面的EXCEL表格 用到两个模块,docx,openpyxl 也可以写到csv文件,不过csv文件过长的数字文本会自动转科学计数 excel文件,内容没有转成数字,是默认插入的文本,如果加入判断语句又会有点...
  • Python写入word文档

    万次阅读 2019-09-25 00:48:53
    file=docx.Document()#创建内存中的word文档对象 file.add_paragraph("窗前明月光")#写入若干段落 file.add_paragraph("疑是地上霜") file.add_paragraph("举头望明月") file.add_paragraph("低头思故乡") file.save...
  • Python读写docx文件+介绍Python读写word文档有现成的库可以处理。我这里采用 python-docx。可以用pip install python-docx安装一下。这里说一句,ppt和excel也有类似的库哦,而且是直接读取文件里面的xml数据。所以...
  • eastAsia'), '华文行楷') #设置英文字体 run=p.add_run("i-search") run.font.name='Arial Black' #插入图片 img_path=r"C:\Users\Administrator\Desktop\img_test.png" doc.add_picture(img_path) #添加表格(3行2列...
  • # -*- coding: UTF8 -*-from docx import Documentfrom docx.shared import Ptdoc = Document()# 文件存储路径path = "C:\\Users\\Administrator\\Desktop\\word文档\\"# 读取文档# doc = Document(path + "hello....
  • 在上次文章中,我们学习了【用python写入excel】,这次我们学习Python写word文档吧!场景:有时候,办公室需要按模版生成的固定的文件,模板是固定的,只是每次需要替换信息。如下图的收入证明,模版中所有标黄的都...
  • 很久之前写了一篇文章,是把excel内的数据放入word的模板当中批量生成新的word文件,今天碰到一个需求是要从大量的word模板中的表格提取信息,放入excel中,这次运气很好,拜读了大佬的文章,简单修改一下直接运行...
  • 如何添加表格边框到Word文档使用Python Docx我的代码如下:import docxfrom docx import Documentfrom docx.shared import Ptdoc = Document('C:/Users/Vinny/Desktop/Python/Template.docx'...
  • 1 '''2 #python批量创建word文档2,向word文档增加图片和文字3 #图片在文档的最上方4 #价格放在表格里5 #word文档的第二页为广告页面6 '''7 #导入所需库8 from docx import Document #word文档处理库9 from docx....
  • 文章目录一、读取word表格1.1 数据1.2 代码1.3 效果二、写入word表格2.1 代码2.2 效果三、推荐B系列完整代码 【作者环境:win10,python3,word2019】 一、读取word表格 参考:...
  • 其实就是把Word中的表格转到Excel中,顺便做一个调整。这个需求在实际工作中,很多人还是经常碰到的! 如果单单是两个表格,那只要简单的复制黏贴即可,但如果上百了呢?那就得考虑自动化了。好在今天碰到的需求中...
  • Python 读取excel及批量生成word模板 问题-来源 前几天,我姐遇见了一个难题:需要从excel表格中不断复制数据到word模板中,相当繁琐,询问我有没有解决的办法。于是我百度了一下,借鉴了相关博主的博文,结合自己的...
  • Python 操作 Excel常用工具数据处理是 Python 的一大应用场景,而 Excel 又是当前最流行的数据处理软件。因此用 Python 进行数据处理时,很容易会和 Excel 打起交道。得益于前人的辛勤劳作,Python 处理 Excel 已有...
  • tpl.render(context, jinja_env) tpl.save('template1.docx') 代码讲解: docxtpl库 用来对word文件进行操作,可以生成表格,生成文本内容,相当强大。而 DocxTemplate模块用于通过模版生成文件,只需体验5分钟,...
  • 如何用python将数据写入excel表格工作中经常用到Excel,很情都重复处理,比天的日报,每周报,数据表,这种固定的表其实都是重复性的劳动。最近这段时间一直在学python,但是断断续续的,眼高手低,看别人的代码看的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,872
精华内容 1,548
关键字:

python写入word表格

python 订阅