精华内容
下载资源
问答
  • matlab自动写入word

    2021-04-19 02:00:00
    如何在matlab中实现数据自动写入表格展开全部 matlab中用xlswrite写入表格时,是按照矩阵本身的格式写入的;如果写入是成行的,可以先用【'】号转置一次再写入;参考实例如下:例如:有X,Y两个100行,1列的数据,...

    如何在matlab中实现数据自动写入表格

    展开全部 matlab中用xlswrite写入表格时,是按照矩阵本身的格式写入的;如果写入是成行的,可以先用【'】号转置一次再写入;参考实例如下:例如:有X,Y两个100行,1列的数据,组合后写入表格: x = ones(100,1); y = ones(100,1); c = cat(2,x,y); xlswrite('distance1.xls',c)...

    哪位大神知道MATLAB自动生成word的时候行间距怎么设置?

    使用一个命令就可以了:format compact;翻译过来就是"紧凑格式"的意思,MATLAB的默认的显示格式是format loose;即"松散格式",以后遇到这种问题,你可以查帮助.比如这个问题,你知道它是跟格式有关的,那么你就可以输入help format命令或doc format命令进行查看,仔细的看看它的帮助文档,你自然就明白了.帮助文档是最好的老师.要学会利用.

    word怎么能和MATLAB软件一起使用

    方法如下:1、启动matlab软件然后在matlab的Command Window命令窗口输入指令;2、Notebook的配置在命令窗口输入配置指令,并按Enter运行以下指令,配置过程将自动进行。

    配置指令: notebook –setup;3、配置成功当指令窗中出现如下信息,就表示配置成功。

    Welcome to the utility for setting up the MATLAB Notebookfor interfacing MATLAB to Microsoft WordSetup complete

    matlab 数据批量写入txt 后面的覆盖了前面的 怎么解决啊,救急!

    fopen的时候,'wt'改为'a+',fid= fopen(filename,permission)“permission”是打开方式参数。

    开方式参数由以下字符串确定:r 读出w 写入(文件若不存在,自动创建)a 后续写入(文件若不存在,自动创建)r+ 读出和写入(文件应已存在)w+ 重新刷新写入,(文件若不存在,自动创建)a+ 后续写入(文件若不存在,自动创建))文件的存储格式:文件打开的默认方式是:二进制。

    以文本方式打开,可以在方式参数“permission"中加入“t”文件将,如“rt”,“wt+”

    哪位大神知道MATLAB自动生成word的时候行间距怎么设置?

    展开全部 使用一个命令就可以了:format compact;翻译过来就是"紧凑格式"的意思,MATLAB的默认的显示格式是format loose;即"松散格式",以后遇到这种问题,你可以查帮助.比如这个问题,你知道它是跟格式有关的,那么你就可以输入help format命令或doc format命令进行查看,仔细的看看它的帮助文档,你自然就明白了.帮助文档是最好的老师.要学会利用....

    我测试matlab的文件操作,为什么输入了\n在写入txt文本时仍然没有实...

    启动matlab软件然后在matlab的Command Window命令窗口输入指令。

    Notebook的配置在命令窗口输入配置指令,并按Enter运行以下指令,配置过程将自动进行。

    配置指令: notebook –setup配置成功当指令窗中出现如下信息,就表示配置成功。

    Welcome to the utility for setting up the MATLAB Notebookfor interfacing MATLAB to Microsoft WordSetup completeNotebook的新建和启动以上是Notebook的配置过程,下面是Notebook的启动。

    启动office Word软件。

    如图:M-book文档的创建在Word 默认窗口下创建新的M-book文档,在Word窗口下选择:文件→新建→我的模版(或“本机上的模版”)。

    M-book文档的创建上一步之后,在弹出的窗口中选择 m-book.dot ,点击确定。

    M-book文档的创建成功完成上一步后,当打开的文档中出现如下图加载项时,表示成功。

    示例在word中运行matlab命令。

    例如:输入指令:x=1:0.1:10 ,然后选中指令并按组合键“Ctrl + Enter”,就直接在word中出现运行结果。

    展开全文
  • 手机连接电脑弹出Microsoft Office Word 2007win8系统处理方法:1. 在控制面板->硬件和声音-&...3.为什么手机连接电脑弹出Word文档,怎么解决?电脑Win7 64位这种情况是误选择了连接硬...

    4908c03c4bc64879f6372be48bb1b9c6.png

    手机连接电脑弹出Microsoft Office Word 2007

    win8系统处理方法:1. 在控制面板->硬件和声音->自动播放里,2. iphone手机的设置值是 Microsoft office Document Scanning 点击“重置所有默认值”后,问题解决。

    3.

    为什么手机连接电脑就弹出Word文档,怎么解决?电脑Win7 64位

    这种情况是误选择了连接硬件默认打开指定程序。

    解决办法如 下:开始菜单-默认程序,选“更改自动播放设置”,点掉左上角“为所有媒体和设备使用自动播放”,然后把中间各种选择,全部改为“不执行操作”。

    然后记着点右下角的保存。

    手机连接电脑自动打开USB调试怎么解决

    手机连接电脑传输文件如照片、视频等,请操作:1.通过数据线将手机和电脑连接,连接成功后,电脑桌面会弹出手机设备页面-点击"打开设备以查看文件"(或进入电脑/计算机-查找手机设备图标)。

    以手机中照片复制到电脑为例,打开手机设备-DCIM文件夹-将手机中照片复制黏贴到电脑中保存即可。

    2.若没有弹出手机设备页面,请下滑手机屏幕顶帘-点击"已连接为媒体设备"-勾选"媒体设备(MTP)"。

    3.若电脑中依然没有手机设备图标,可能是电脑中缺少USB驱动软件,您可尝试在电脑上下载安装Kies软件根据您的电脑系统下载对应版本即可(若手机采用的是安卓4.3或以上操作系统,请下载安装Kies3版本)。

    4.然后重新按照步骤1操作。

    手机连接到电脑提示的打开方式只有照相机和word怎么办

    1、可能是上一次连接电脑时,用户在自动播放选项里选择了用word打开小米2,所以就会自动弹出word并提示获取图片,可以打开“计算机"或"我的电脑”,找到电脑分配给小米2的磁盘或者驱动器,点击鼠标右键,选择属性,找到自动播放的选项,再单击“要更改的多媒体内容”,然后选中“选择一个操作来执行”复选钮,再单击“不执行操作”即可。

    2、也可能是电脑上的小米2手机驱动出现问题,可以将原驱动卸载干净,然后用手机助手软件重新检测、下载、安装小米2手机的驱动程序到电脑上,安装完成后,即可恢复正常。

    3、或者是小米2手机的系统问题,可以重启手机试试;必要时可以重置系统或升级系统来解决。

    word文档在手机上怎么打开

    具体步骤如下:1、先在手机中安装WPS Office手机版。

    2、安装好WPS Office手机版之后,打开WPS Office,然后打开软件,点击左上角的“WPS”按钮,之后去选择“浏览目录”找到需要打开的Word文件即可。

    展开全文
  • 是的打印机设置问题,可能是某个打印机服务没有打开当添加打印机或是使用打印机时,系统报错“打印后台程序服务没有运行”,一般会发生在 Windows 2000、XP、2003 系统下,出现此现象多是由于系统不稳定导致系统支持...

    是的打印机设置问题,可能是某个打印机服务没有打开当添加打印机或是使用打印机时,系统报错“打印后台程序服务没有运行”,一般会发生在 Windows 2000、XP、2003 系统下,出现此现象多是由于系统不稳定导致系统支持打印机的服务无法启用。该“打印后台程序服务”是 Windows 2000、XP、2003 系统支持打印机的服务,所有在系统内进行的与打印机相关操作均需要它。

    出现这个问题时,首先请依据如下步骤手动启用该服务:

    在桌面选中“我的电脑”,鼠标右键选择“管理”;

    在“管理”窗口中,选取“服务和应用程序”扩展项目下的“服务”选项(如图),在右侧出现系统服务列表中找到“Print Spooler”服务,双击进入“Print Spooler”服务设置;

    在“Print Spooler”服务设置窗口中,将“启动类型”设置为“自动”,点击“启动”按钮;

    此时系统会尝试启动该服务;

    当服务启动成功后,“服务状态”会显示为“已启动”,重新进行添加或是使用打印机的其它操作。

    备 注:

    如果按上述步骤执行后仍无法启动该“打印后台程序服务”,或执行打印机操作时报错依旧,多是与操作系统重要的文件存在问题相关,尝试对电脑查毒后再试;仍有问题,建议备份重要文件后,重新安装操作系统 。

    WORD 打印闪退

    这种问题很大程度上是B人的打印机设置问题,可能是某个打印机服务没有打开

    把打印机设置为默认打印机后,word文档一按打印就闪退

    如果是链接好打印机

    97147_20200423111332752.jpg

    点击打印出来上图,看看状态是不是空闲!因为你多次点击打印,任务太多就不会打印的,右键点击左下角打印机图标取消打印任务!重新选择打印机打印!

    正规格式的word文档一点打印就闪退了

    如果是链接好打印机

    97147_20200423111332752.jpg

    点击打印出来上图,看看状态是不是空闲!因为你多次点击打印,任务太多就不会打印的,右键点击左下角打印机图标取消打印任务!重新选择打印机打印!

    网络打印机一打印word,pdf就闪退

    是的打印机设置问题,可能是某个打印机服务没有打开当添加打印机或是使用打印机时,系统报错“打印后台程序服务没有运行”,一般会发生在Windows2000、XP、2003 系统下,出现此现象多是由于系统不稳定导致系统支持打印机的服务无法启用。该“打印后台程序服务”是Windows2000、XP、2003 系统支持打印机的服务,所有在系统内进行的与打印机相关操作均需要它。

    出现这个问题时,首先请依据如下步骤手动启用该服务:

    在桌面选中“我的电脑”,鼠标右键选择“管理”;

    在“管理”窗口中,选取“服务和应用程序”扩展项目下的“服务”选项(如图),在右侧出现系统服务列表中找到“Print Spooler”服务,双击进入“Print Spooler”服务设置;

    在“Print Spooler”服务设置窗口中,将“启动类型”设置为“自动”,点击“启动”按钮;

    此时系统会尝试启动该服务;

    当服务启动成功后,“服务状态”会显示为“已启动”,重新进行添加或是使用打印机的其它操作。

    备 注:

    如果按上述步骤执行后仍无法启动该“打印后台程序服务”,或执行打印机操作时报错依旧,多是与操作系统重要的文件存在问题相关,尝试对电脑查毒后再试;仍有问题,建议备份重要文件后,重新安装操作系统。

    服务已经开了,杀毒也杀过 了

    word闪退怎么解决

    当我们遇到office2013出现闪退情况怎么办,又或者出现无许可证,很多用户就会想到把它卸载掉。今天我告诉大家具体操作怎么弄,希望可以帮助到大家。

    具体操作方法:

    1.:点“控制面板\系统和安全\管理工具\服务”,启动“Office Software Protection Platform(osppsvc)”服务,

    这个设置可能需要每次运行Office程序前都要运行一次,直接看下面就不必每次设置了。

    2: 点“控制面板\系统和安全\计划任务”,点“创建任务...”;

    常规栏名称填为:“Office 2013 task”,勾选“使用最高权限运行”,配置右边下拉菜单选 择“Windows 7”;

    3:切换到触发器,点“新建...”,开始任务设置为:“登录时”确定;

    4:切换到操作,点“新建...”,在程序或脚本下输入下面一行:

    net start "Office Software Protection Platform"

    点“确定->是”,确定,重启电脑。

    步骤阅读

    5

    5:右键管理员方式依次运行“-)卸载.cmd”、“!)安装.cmd”

    cad、Word、wps、画图一打印就闪退怎么解决?

    楼主你好,个人感觉以下2点,希望能帮到您:打印驱动问题。这个更新下打印机驱动,重启机子。

    选择的共享打印机IP地址有错,请重新调整设定------方法如下:

    方法一:开始-----运行-----输入共享电脑的IP地址(假设\\10.201.116.151)---确定---OK

    方法二、 控制面板→打印机或传真→(右键)添加打印机→下一步(单击)→选择网络打印机或连接到其他计算机的打印机→下一步(单击)→选择连接到这台打印机→然后输入那台计算机的IP,以后都点下一步就OK了

    最后进入:开始-----设置----打印机和传真----把它设为你的“默认打印机”---ok

    展开全文
  • 环境安装使用Python操作word大部分情况都是写操作,也有少许情况会用到读操作,在本次教程种都会进行讲解。本次课程主要用到以下4个库,请大家提前安装:0. 升级pip(便于安装最新库)python -m pip install -U pip ...

    环境安装

    使用Python操作word大部分情况都是写操作,也有少许情况会用到读操作,在本次教程种都会进行讲解。

    本次课程主要用到以下4个库,请大家提前安装:

    0. 升级pip(便于安装最新库)

    python -m pip install -U pip setuptools

    1. python-docx (我们大部分操作都是使用此库)

    安装方法:

    pip install python-docx

    使用方法:

    from docx import Document

    from docx.shared import Inches

    官方文档:

    2. win32com (主要用作doc转docx格式转换用)

    安装方法:

    pip install pypiwin32

    使用方法:

    import win32com

    from win32com.client import Dispatch, constants

    官方文档:

    3. mailmerge (用作按照模板生成大量同类型文档)

    安装方法:

    pip install docx-mailmerge

    使用方法:

    from mailmerge import MailMerge

    官方文档:

    4. matplotlib (Python 的绘图库,本期简单讲解,后期会有专门的课程)

    安装方法:

    pip install matplotlib

    使用方法:

    import matplotlib.pyplot as plt

    官方文档:

    0. Python-docx新建文档

    示例代码1:

    from docx import Document

    document = Document()

    document.save('new.docx')

    效果如下:

    示例代码 0.1 Python-docx新建文档.py:

    from docx import Document

    def GenerateNewWord(filename):

    document = Document()

    document.save(filename)

    if __name__ == "__main__":

    print("大家好!我们今天开始学习word文档自动化")

    print("我们先来直接生成一个名为‘new.docx’的文档")

    document = Document()

    document.save('new.docx')

    print("没错,里面什么都没有")

    # 我是华丽的分隔符

    print("我们使用函数生成一个word文档试试")

    newname = '使用函数生成的文档.docx'

    GenerateNewWord(newname)

    效果如下:

    1. Python-docx编辑已存在文档

    我们很多时候需要在已存在的word文档上添加自己的内容,那么我们赶紧看看应该怎样操作吧~

    旧文档:

    示例代码:

    from docx import Document

    document = Document('exist.docx')

    document.save('new.docx')

    也许你会说,没有没搞错,就这三句话? 是的,就这三句,你就完成了旧文档的复制,如果你想修改,直接添加内容就行了呢!

    效果如下:

    2. win32com将doc转为docx

    旧文档:

    示例代码:

    import os

    from win32com import client as wc

    def TransDocToDocx(oldDocName,newDocxName):

    print("我是 TransDocToDocx 函数")

    # 打开word应用程序

    word = wc.Dispatch('Word.Application')

    # 打开 旧word 文件

    doc = word.Documents.Open(oldDocName)

    # 保存为 新word 文件,其中参数 12 表示的是docx文件

    doc.SaveAs(newDocxName, 12)

    # 关闭word文档

    doc.Close()

    word.Quit()

    print("生成完毕!")

    if __name__ == "__main__":

    # 获取当前目录完整路径

    currentPath = os.getcwd()

    print("当前路径为:",currentPath)

    # 获取 旧doc格式word文件绝对路径名

    docName = os.path.join(currentPath,'旧doc格式文档.doc')

    print("docFilePath = ", docName)

    # 设置新docx格式文档文件名

    docxName = os.path.join(currentPath,'新生成docx格式文档.docx')

    TransDocToDocx(docName,docxName)

    效果如下:

    3.win32com操作word

    3.1 打开新的word文档并添加内容

    示例代码:

    import win32com

    from win32com.client import Dispatch, constants

    import os

    # 创建新的word文档

    def funOpenNewFile():

    word = Dispatch('Word.Application')

    # 或者使用下面的方法,使用启动独立的进程:

    # word = DispatchEx('Word.Application')

    # 如果不声明以下属性,运行的时候会显示的打开word

    word.Visible = 1 # 0:后台运行 1:前台运行(可见)

    word.DisplayAlerts = 0 # 不显示,不警告

    # 创建新的word文档

    doc = word.Documents.Add()

    # 在文档开头添加内容

    myRange1 = doc.Range(0, 0)

    myRange1.InsertBefore('Hello word\n')

    # 在文档末尾添加内容

    myRange2 = doc.Range()

    myRange2.InsertAfter('Bye word\n')

    # 在文档i指定位置添加内容

    i = 0

    myRange3 = doc.Range(0, i)

    myRange3.InsertAfter("what's up, bro?\n")

    # doc.Save() # 保存

    doc.SaveAs(os.getcwd() + "\\funOpenNewFile.docx") # 另存为

    doc.Close() # 关闭 word 文档

    word.Quit() # 关闭 office

    if __name__ == '__main__':

    print("当前文件路径名:",os.getcwd())

    print("调用funOpenNewFile()")

    funOpenNewFile()

    效果如下:

    3.2 打开已存在word文档并添加内容

    前提条件:

    示例代码:

    import win32com

    from win32com.client import Dispatch, constants

    import os

    # 打开已存在的word文件

    def funOpenExistFile():

    word = Dispatch('Word.Application')

    # 或者使用下面的方法,使用启动独立的进程:

    # word = DispatchEx('Word.Application')

    # 如果不声明以下属性,运行的时候会显示的打开word

    word.Visible = 1 # 0:后台运行 1:前台运行(可见)

    word.DisplayAlerts = 0 # 不显示,不警告

    doc = word.Documents.Open(os.getcwd() + "\\3.1 win32com测试.docx") # 打开一个已有的word文档

    # 在文档开头添加内容

    myRange1 = doc.Range(0, 0)

    myRange1.InsertBefore('Hello word\n')

    # 在文档末尾添加内容

    myRange2 = doc.Range()

    myRange2.InsertAfter('Bye word\n')

    # 在文档i指定位置添加内容

    i = 0

    myRange3 = doc.Range(0, i)

    myRange3.InsertAfter("what's up, bro?\n")

    # doc.Save() # 保存

    doc.SaveAs(os.getcwd() + "\\funOpenExistFile.docx") # 另存为

    doc.Close() # 关闭 word 文档

    word.Quit() # 关闭 office

    if __name__ == '__main__':

    print("当前文件路径名:",os.getcwd())

    print("调用funOpenExistFile()")

    funOpenExistFile()

    效果如下:

    3.3 转换word为pdf

    示例代码:

    import win32com

    from win32com.client import Dispatch, constants

    import os

    # 生成Pdf文件

    def funGeneratePDF():

    word = Dispatch("Word.Application")

    word.Visible = 0 # 后台运行,不显示

    word.DisplayAlerts = 0 # 不警告

    doc = word.Documents.Open(os.getcwd() + "\\3.3 win32com转换word为pdf等格式.docx") # 打开一个已有的word文档

    doc.SaveAs(os.getcwd() + "\\3.3 win32com转换word为pdf等格式.pdf", 17) # txt=4, html=10, docx=16, pdf=17

    doc.Close()

    word.Quit()

    if __name__ == '__main__':

    funGeneratePDF()

    效果如下:

    4.Python-docx操作word

    官方文档:(最权威指南,没有之一)

    4.1 Python-docx官方例程

    前提条件:

    示例代码:

    from docx import Document

    from docx.shared import Inches

    document = Document()

    document.add_heading('Document Title', 0)

    p = document.add_paragraph('A plain paragraph having some ')

    p.add_run('bold').bold = True

    p.add_run(' and some ')

    p.add_run('italic.').italic = True

    document.add_heading('Heading, level 1', level=1)

    document.add_paragraph('Intense quote', style='Intense Quote')

    document.add_paragraph(

    'first item in unordered list', style='List Bullet'

    )

    document.add_paragraph(

    'first item in ordered list', style='List Number'

    )

    document.add_picture('countrygarden.png', width=Inches(1.25))

    records = (

    (3, '101', 'Spam'),

    (7, '422', 'Eggs'),

    (4, '631', 'Spam, spam, eggs, and spam')

    )

    table = document.add_table(rows=1, cols=3)

    hdr_cells = table.rows[0].cells

    hdr_cells[0].text = 'Qty'

    hdr_cells[1].text = 'Id'

    hdr_cells[2].text = 'Desc'

    for qty, id, desc in records:

    row_cells = table.add_row().cells

    row_cells[0].text = str(qty)

    row_cells[1].text = id

    row_cells[2].text = desc

    document.add_page_break()

    document.save('4.1 Python-docx官方例程.docx')

    最终效果:

    4.2 Python-docx官方例程解析导入库操作

    from docx import Document导入英寸单位操作(可用于指定图片大小、表格宽高等)

    from docx.shared import Inches新建一个文档

    document = Document()加载旧文档(用于修改或添加内容)

    document = Document('exist.docx')添加标题段落

    document.add_heading('Document Title', 0)添加段落操作

    段落在 Word 中是基本内容。它们用于正文文本,也用于标题和项目列表(如项目符号)。

    p = document.add_paragraph('A plain paragraph having some ')在指定段落上添加内容

    p.add_run('bold').bold = True # 添加粗体文字

    p.add_run(' and some ') # 添加默认格式文字

    p.add_run('italic.').italic = True # 添加斜体文字添加标题操作

    等级1-9 也就是标题1-标题9,我们可以在旧文档中将标题格式设置好,使用Python-docx打开旧文档,再添加相应等级标题即可。

    document.add_heading('Heading, level 1', level=1)添加指定样式段落

    样式详情:

    document.add_paragraph('Intense quote', style='Intense Quote')

    # 以下两句的含义等同于上面一句

    p = document.add_paragraph('Intense quote')

    p.style = 'Intense Quote'添加无序列表操作

    document.add_paragraph( 'first item in unordered list', style='List Bullet')添加有序列表操作

    document.add_paragraph( 'first item in ordered list', style='List Number')添加图片操作

    第一个参数为图片路径,需要正确无误

    第二个参数为图片大小,单位英寸

    document.add_picture('countrygarden.png', width=Inches(1.25))新建表格操作

    table = document.add_table(rows=1, cols=3)填充标题行操作

    hdr_cells = table.rows[0].cells

    hdr_cells[0].text = 'Qty'

    hdr_cells[1].text = 'Id'

    hdr_cells[2].text = 'Desc'为每组内容添加数据行并填充

    for qty, id, desc in records:

    row_cells = table.add_row().cells

    row_cells[0].text = str(qty)

    row_cells[1].text = id

    row_cells[2].text = desc设置标题样式操作

    table.style = 'LightShading-Accent1'添加分页符操作

    document.add_page_break()保存当前文档操作

    document.save('4.1 Python-docx官方例程.docx')

    4.3 Python-docx 表格样式设置

    表格样式设置代码:

    from docx import *

    document = Document()

    table = document.add_table(3, 3, style="Medium Grid 1 Accent 1")

    heading_cells = table.rows[0].cells

    heading_cells[0].text = '第一列内容'

    heading_cells[1].text = '第二列内容'

    heading_cells[2].text = '第三列内容'

    document.save("demo.docx")

    遍历所有样式:

    from docx.enum.style import WD_STYLE_TYPE

    from docx import Document

    document = Document()

    styles = document.styles

    # 生成所有表样式

    for s in styles:

    if s.type == WD_STYLE_TYPE.TABLE:

    document.add_paragraph("表格样式 : " + s.name)

    table = document.add_table(3, 3, style=s)

    heading_cells = table.rows[0].cells

    heading_cells[0].text = '第一列内容'

    heading_cells[1].text = '第二列内容'

    heading_cells[2].text = '第三列内容'

    document.add_paragraph("\n")

    document.save('4.3 所有表格样式.docx')

    效果如下(大家按照喜欢的样式添加即可):

    5.小实战:docx&matplotlib自动生成数据分析报告

    5.1 最终效果

    5.2 数据获取

    我们这里使用xlrd作为数据获取所使用的库,简单回顾一下:

    import xlrd

    xlsx = xlrd.open_workbook('./3_1 xlrd 读取 操作练习.xlsx')

    # 通过sheet名查找:xlsx.sheet_by_name("sheet1")

    # 通过索引查找:xlsx.sheet_by_index(3)

    table = xlsx.sheet_by_index(0)

    # 获取单个表格值 (2,1)表示获取第3行第2列单元格的值

    value = table.cell_value(2, 1)

    print("第3行2列值为",value)

    # 获取表格行数

    nrows = table.nrows

    print("表格一共有",nrows,"行")

    # 获取第4列所有值(列表生成式)

    name_list = [str(table.cell_value(i, 3)) for i in range(1, nrows)]

    print("第4列所有的值:",name_list)

    表格内容:

    编写数据获取代码:

    我们这里只获取用户姓名和,分数,并将它们保存到列表中,看代码。

    # 获取学习成绩信息

    def GetExcelInfo():

    print("开始获取表格内容信息")

    # 打开指定文档

    xlsx = xlrd.open_workbook('学生成绩表格.xlsx')

    # 获取sheet

    sheet = xlsx.sheet_by_index(0)

    # 获取表格行数

    nrows = sheet.nrows

    print("一共 ",nrows," 行数据")

    # 获取第2列,和第4列 所有值(列表生成式),从第2行开始获取

    nameList = [str(sheet.cell_value(i, 1)) for i in range(1, nrows)]

    scoreList = [int(sheet.cell_value(i, 3)) for i in range(1, nrows)]

    # 返回名字列表和分数列表

    return nameList,scoreList

    获取结果:

    5.3 柱状图生成

    我们先将获取的姓名和成绩使用 字典 数据结构关联起来,再对其排序:

    # 将名字和分数列表合并成字典(将学生姓名和分数关联起来)

    scoreDictionary = dict(zip(nameList, scoreList))

    print("dictionary:",scoreDictionary)

    # 对字典进行值排序,高分在前,reverse=True 代表降序排列

    scoreOrder = sorted(scoreDictionary.items(), key=lambda x: x[1], reverse=True)

    print("scoreOrder",scoreOrder)

    效果如下:

    # 合成的字典

    dictionary: {'Dillon Miller': 41, 'Laura Robinson': 48, 'Gabrilla Rogers': 28, 'Carlos Chen': 54, 'Leonard Humphrey': 44, 'John Hall': 63, 'Miranda Nelson': 74, 'Jessica Morgan': 34, 'April Lawrence': 67, 'Cindy Brown': 52, 'Cassandra Fernan': 29, 'April Crawford': 91, 'Jennifer Arias': 61, 'Philip Walsh': 58, 'Christina Hill P': 14, 'Justin Dunlap': 56, 'Brian Lynch': 84, 'Michael Brown': 68}

    # 排序后,再次转换成列表

    scoreOrder [('April Crawford', 91), ('Brian Lynch', 84), ('Miranda Nelson', 74), ('Michael Brown', 68), ('April Lawrence', 67), ('John Hall', 63), ('Jennifer Arias', 61), ('Philip Walsh', 58), ('Justin Dunlap', 56), ('Carlos Chen', 54), ('Cindy Brown', 52), ('Laura Robinson', 48), ('Leonard Humphrey', 44), ('Dillon Miller', 41), ('Jessica Morgan', 34), ('Cassandra Fernan', 29), ('Gabrilla Rogers', 28), ('Christina Hill P', 14)]

    使用 matplotlib 生成柱状图:

    # 生成学生成绩柱状图(使用matplotlib)

    # 会生成一张名为"studentScore.jpg"的图片

    def GenerateScorePic(scoreList):

    # 解析成绩列表,生成横纵坐标列表

    xNameList = [str(studentInfo[0]) for studentInfo in scoreList]

    yScoreList = [int(studentInfo[1]) for studentInfo in scoreList]

    print("xNameList",xNameList)

    print("yScoreList",yScoreList)

    # 设置字体格式

    matplotlib.rcParams['font.sans-serif'] = ['SimHei'] # 用黑体显示中文

    # 设置绘图尺寸

    plt.figure(figsize=(10,5))

    # 绘制图像

    plt.bar(x=xNameList, height=yScoreList, label='学生成绩', color='steelblue', alpha=0.8)

    # 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式

    for x1, yy in scoreList:

    plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=16, rotation=0)

    # 设置标题

    plt.title("学生成绩柱状图")

    # 为两条坐标轴设置名称

    plt.xlabel("学生姓名")

    plt.ylabel("学生成绩")

    # 显示图例

    plt.legend()

    # 坐标轴旋转

    plt.xticks(rotation=90)

    # 设置底部比例,防止横坐标显示不全

    plt.gcf().subplots_adjust(bottom=0.25)

    # 保存为图片

    plt.savefig("studentScore.jpg")

    # 直接显示

    plt.show()

    效果如下:

    5.4 生成最终报告

    代码如下:

    # 开始生成报告

    def GenerateScoreReport(scoreOrder,picPath):

    # 新建一个文档

    document = Document()

    # 设置标题

    document.add_heading('数据分析报告', 0)

    # 添加第一名的信息

    p1 = document.add_paragraph("分数排在第一的学生姓名为: ")

    p1.add_run(scoreOrder[0][0]).bold = True

    p1.add_run(" 分数为: ")

    p1.add_run(str(scoreOrder[0][1])).italic = True

    # 添加总体情况信息

    p2 = document.add_paragraph("共有: ")

    p2.add_run(str(len(scoreOrder))).bold = True

    p2.add_run(" 名学生参加了考试,学生考试的总体情况: ")

    # 添加考试情况表格

    table = document.add_table(rows=1, cols=2)

    table.style = 'Medium Grid 1 Accent 1'

    hdr_cells = table.rows[0].cells

    hdr_cells[0].text = '学生姓名'

    hdr_cells[1].text = '学生分数'

    for studentName,studentScore in scoreOrder:

    row_cells = table.add_row().cells

    row_cells[0].text = studentName

    row_cells[1].text = str(studentScore)

    # 添加学生成绩柱状图

    document.add_picture(picPath, width=Inches(6))

    document.save('学生成绩报告.docx')

    5.5 完整代码

    import xlrd

    import matplotlib

    import matplotlib.pyplot as plt

    from docx import Document

    from docx.shared import Inches

    # 获取学习成绩信息

    def GetExcelInfo():

    print("开始获取表格内容信息")

    # 打开指定文档

    xlsx = xlrd.open_workbook('学生成绩表格.xlsx')

    # 获取sheet

    sheet = xlsx.sheet_by_index(0)

    # 获取表格行数

    nrows = sheet.nrows

    print("一共 ",nrows," 行数据")

    # 获取第2列,和第4列 所有值(列表生成式),从第2行开始获取

    nameList = [str(sheet.cell_value(i, 1)) for i in range(1, nrows)]

    scoreList = [int(sheet.cell_value(i, 3)) for i in range(1, nrows)]

    # 返回名字列表和分数列表

    return nameList,scoreList

    # 生成学生成绩柱状图(使用matplotlib)

    # 会生成一张名为"studentScore.jpg"的图片

    def GenerateScorePic(scoreList):

    # 解析成绩列表,生成横纵坐标列表

    xNameList = [str(studentInfo[0]) for studentInfo in scoreList]

    yScoreList = [int(studentInfo[1]) for studentInfo in scoreList]

    print("xNameList",xNameList)

    print("yScoreList",yScoreList)

    # 设置字体格式

    matplotlib.rcParams['font.sans-serif'] = ['SimHei'] # 用黑体显示中文

    # 设置绘图尺寸

    plt.figure(figsize=(10,5))

    # 绘制图像

    plt.bar(x=xNameList, height=yScoreList, label='学生成绩', color='steelblue', alpha=0.8)

    # 在柱状图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式

    for x1, yy in scoreList:

    plt.text(x1, yy + 1, str(yy), ha='center', va='bottom', fontsize=16, rotation=0)

    # 设置标题

    plt.title("学生成绩柱状图")

    # 为两条坐标轴设置名称

    plt.xlabel("学生姓名")

    plt.ylabel("学生成绩")

    # 显示图例

    plt.legend()

    # 坐标轴旋转

    plt.xticks(rotation=90)

    # 设置底部比例,防止横坐标显示不全

    plt.gcf().subplots_adjust(bottom=0.25)

    # 保存为图片

    plt.savefig("studentScore.jpg")

    # 直接显示

    plt.show()

    # 开始生成报告

    def GenerateScoreReport(scoreOrder,picPath):

    # 新建一个文档

    document = Document()

    # 设置标题

    document.add_heading('数据分析报告', 0)

    # 添加第一名的信息

    p1 = document.add_paragraph("分数排在第一的学生姓名为: ")

    p1.add_run(scoreOrder[0][0]).bold = True

    p1.add_run(" 分数为: ")

    p1.add_run(str(scoreOrder[0][1])).italic = True

    # 添加总体情况信息

    p2 = document.add_paragraph("共有: ")

    p2.add_run(str(len(scoreOrder))).bold = True

    p2.add_run(" 名学生参加了考试,学生考试的总体情况: ")

    # 添加考试情况表格

    table = document.add_table(rows=1, cols=2)

    table.style = 'Medium Grid 1 Accent 1'

    hdr_cells = table.rows[0].cells

    hdr_cells[0].text = '学生姓名'

    hdr_cells[1].text = '学生分数'

    for studentName,studentScore in scoreOrder:

    row_cells = table.add_row().cells

    row_cells[0].text = studentName

    row_cells[1].text = str(studentScore)

    # 添加学生成绩柱状图

    document.add_picture(picPath, width=Inches(6))

    document.save('学生成绩报告.docx')

    if __name__ == "__main__":

    # 调用信息获取方法,获取用户信息

    nameList,scoreList = GetExcelInfo()

    # print("nameList:",nameList)

    # print("ScoreList:",scoreList)

    # 将名字和分数列表合并成字典(将学生姓名和分数关联起来)

    scoreDictionary = dict(zip(nameList, scoreList))

    # print("dictionary:",scoreDictionary)

    # 对字典进行值排序,高分在前,reverse=True 代表降序排列

    scoreOrder = sorted(scoreDictionary.items(), key=lambda x: x[1], reverse=True)

    # print("scoreOrder",scoreOrder)

    # 将进行排序后的学生成绩列表生成柱状图

    GenerateScorePic(scoreOrder)

    # 开始生成报告

    picPath = "studentScore.jpg"

    GenerateScoreReport(scoreOrder,picPath)

    print("任务完成,报表生成完毕!")

    6.Python-docx修改旧word文档

    6.1 回顾:打开旧文档,并另存为新文档

    我们这里就拿上一节生成的学生成绩报告作为示例:

    from docx import Document

    if __name__ == "__main__":

    document = Document('6 学生成绩报告.docx')

    # 在这里进行操作,此处忽略

    document.save('修改后的报告.docx')

    6.2 读取word文档的内容

    示例代码:

    from docx import Document

    if __name__ == "__main__":

    document = Document('6 学生成绩报告.docx')

    # 读取 word 中所有内容

    for p in document.paragraphs:

    print("paragraphs:",p.text)

    # 读取 word 中所有一级标题

    for p in document.paragraphs:

    if p.style.name == 'Heading 1':

    print("Heading 1:",p.text)

    # 读取 word 中所有二级标题

    for p in document.paragraphs:

    if p.style.name == 'Heading 2':

    print("Heading 2:", p.text)

    # 读取 word 中所有正文

    for p in document.paragraphs:

    if p.style.name == 'Normal':

    print("Normal:", p.text)

    document.save('修改后的报告.docx')

    效果如下:

    6.3 读取docx中表格内容

    示例代码:

    from docx import Document

    if __name__ == "__main__":

    document = Document('6 学生成绩报告.docx')

    # 读取表格内容

    for tb in document.tables:

    for i,row in enumerate(tb.rows):

    for j,cell in enumerate(row.cells):

    text = ''

    for p in cell.paragraphs:

    text += p.text

    print(f'第{i}行,第{j}列的内容{text}')

    document.save('修改后的报告.docx')

    效果如下:

    6.4 修改word中的内容

    示例代码:

    from docx import Document

    if __name__ == "__main__":

    document = Document('6 学生成绩报告.docx')

    # 修改 word 中所有内容

    for p in document.paragraphs:

    p.text = "修改后的段落内容"

    # 修改表格内容

    for tb in document.tables:

    for i,row in enumerate(tb.rows):

    for j,cell in enumerate(row.cells):

    text = ''

    for p in cell.paragraphs:

    p.text = ("第",str(i),"行",str(j),"列")

    print(f'第{i}行,第{j}列的内容{text}')

    document.save('6.4 修改后的报告.docx')

    效果如下:

    7.小实战:docx-mailmerge自动生成万份劳动合同

    7.1 创建 合同 模板

    添加内容框架

    创建一个域

    设置域名

    依次全部添加

    7.2 生成1份证明

    示例代码:

    from mailmerge import MailMerge

    template = '薪资证明模板.docx'

    document = MailMerge(template)

    document.merge(name = '唐星',

    id = '1010101010',

    year = '2020',

    salary = '99999',

    job = '嵌入式软件开发工程师')

    document.write('生成的1份证明.docx')

    效果如下:

    哈哈哈哈!!月入10万,走向人生巅峰~

    7.3 生成10000份证明

    示例代码:

    from mailmerge import MailMerge

    from datetime import datetime

    # 生成单份合同

    def GenerateCertify(templateName,newName):

    # 打开模板

    document = MailMerge(templateName)

    # 替换内容

    document.merge(name='唐星',

    id='1010101010',

    year='2020',

    salary='99999',

    job='嵌入式软件开发工程师')

    # 保存文件

    document.write(newName)

    if __name__ == "__main__":

    templateName = '薪资证明模板.docx'

    # 获得开始时间

    startTime = datetime.now()

    # 开始生成

    for i in range(10000):

    newName = f'./10000份证明/薪资证明{i}.docx'

    GenerateCertify(templateName,newName)

    # 获取结束时间

    endTime = datetime.now()

    # 计算时间差

    allSeconds = (endTime - startTime).seconds

    print("生成10000份合同一共用时: ",str(allSeconds)," 秒")

    print("程序结束!")

    效果如下:

    只花了89秒,平均不到 0.01 就能生成一个!!快

    展开全文
  • 创建您的第一个 Word 应用程序级外接程序本介绍性演练说明如何创建 Microsoft Office Word的应用程序级外接程序。您在这种类型的解决方案中创建的功能对应用程序本身可用,而与所打开的文档无关。本演练阐释以下任务...
  • 但是使用版本的用户都遇到过Word停止工作,自动退出的问题,如,Word200windows7 - 1、Word200纯净版 - 5、Word2010。通常这样的问题是由于Word模板错误引起的,下面系统城小编提供几种解决方法。方法win7之家 - 9、...
  • word加载项启动失败

    千次阅读 2020-12-31 00:41:45
    word里面使用endnote加载项总显示失败解决办法1: 打开WORD,选择菜单栏“工具”,再选择“自定义”,打开在“endnote”选项前打钩。然后可以看到了。解决办法2: 在endnote安装目录里找到 EN Cwyw.dot或者EN ...
  • 电脑Word问题解决办法

    2021-07-07 00:18:10
    电脑Word问题解决办法“microsoft office Word 无法执行语言识别”的解决办法Word可以使用,打开总会出现错误提示如下:Microsoft Office Word无法执行语言识别。目前尚无法使用这项功能。请运行安装程序,选择...
  • 启动Windows应用程序的方法启动Windows应用程序的常用方式[方法一]第一步:在桌面上单击“开始”一“程序”。第二步:移动鼠标到想要运行的应用程序名上。第三步:单击。[方法二]第一步:在桌面上或文件夹窗口中移动...
  • 《万维全自动网络考试客户端用户使用方法Word版》由会员分享,可在线阅读,更多相关《万维全自动网络考试客户端用户使用方法Word版(12页珍藏版)》请在人人文库网上搜索。1、传播优秀Word版文档 ,希望对您有帮助,可...
  • word自动执行任务 Word2003在网页中自动执行任务,还在玩王者荣耀吗?还在吃鸡吗?不要浪费青春了,来跟我学习新技能:word自动执行任务,把时间花在正事上才能有进步,看完word自动执行任务 Word2003在网页中自动...
  • Android4.1.2完成hello word程序——自定义一个启动图标一、创建helloWord工程二、工程文件详解资料三、设计图标 一、创建helloWord工程 延用上一个帖子的 初始Android——一个Hello Word 二、工程文件详解资料 1....
  • Python自动化办公-处理word文档 年底项目投标,需要整理大量的内容,标书的很多内容是其实是之前的标书重复的,可以把对应的各个部分内容合并,然后再处理格式等。如果采用常规操作每次操作需要打开子目录——>...
  • //适用于关闭后台进程的方法QStringc="taskkill/imnotepad.exe/f";intpInt=QProcess::execute(c);//关闭后台notepad.exe进程,阻塞式...一、启动外部程序的两种方式:(1)一体式:voidQProcess::start(const QString ...
  • word出现正在更新office,无法启动

    千次阅读 2021-01-23 19:53:54
    文章目录解决方案:1、打开服务2、找到microsoft office ClickToRun Service3、重启电脑,问题解决 ...若打开就是自动,那先禁用然后再设置为自动 启动服务(完美解决) 3、重启电脑,问题解决 ...
  • word提示向程序发送命令时出现问题怎么解决 word提示向程序发送命令时出现问题解决方法 我们的生活中越来越离不开电脑,但在使用电脑的过程中总会遇到各种各样的问题。知识屋致力于给电脑小白朋友们介绍一些简单常用...
  • 怎样在word中设置试卷答案和题目同时显示怎样在word中设置试卷答案和题目同时显示 老师们在课堂上给学生评讲试卷时,都遇到一个难题,那就是题目和答案不能同时显示,每次讲完一道题就要回去查看答案,很不方便。...
  • 如何解决直接打开Word, Excel文档很慢,而通过先打开WORD、EXCEL程序再打开文档则很快的问题。请教EXCEL文档总是点击打开是很慢很卡,时不时会出现没有响应的状态。一般是2003会有这种情况. 如果是的, 请看以下选择...
  • 1.1 python-docx(读写Word文档的大部分操作) 1.1.1 官方文档 https://python-docx.readthedocs.io/en/latest/ 1.1.2 清华源安装python-docx 我已经装过了。 pip install -i ...
  • matlab导入word

    2021-04-19 05:29:30
    1.word里内容怎么导进matlabWord 图片————————————————————————————————————————方法一Matlab与Word集成——Notebook在Matlab输入notebook命令,程序集成com到word。在word...
  • word2007电脑版安装包

    2021-07-22 05:22:38
    word2007电脑版是一个非常不错的办公软件,作为经典的2007版本,仍然受到许多用户的喜爱。简介的界面设计加上强大的功能,不仅可以快速帮助用户进行文档操作,而且运行速度也十分的快。用户可以按照操作方法来完成...
  • 启动模拟器之后,在开发工具右边有一个小手机啦,然后点击工具栏上的运行按钮运行按钮,选择我们的模拟器运行,运行之后模拟器上显示一行文字“Hello Word”,第一个鸿蒙程序就此诞生啦。 总结 以上所有的内容在...
  • 2015年计算机办公自动化考试试题及答案一、单选题:1、Word程序启动后就自动打开一个名为 的文档。DA)Noname B)Untitled C)文件1 D)文档12、要将Word文档中的一部分选定的文字移动到指定的位置上去,对它进行的第一步...
  • word打不开怎么办

    千次阅读 2021-07-29 05:34:29
    word是我们经常使用的文档编辑软件,我们电脑中的大部分文档文件都可以用word来阅读或者编辑,特别对于使用电脑办公的人士来说,几乎每天都要接触到word,最近有个朋友在使用word的时候,软件提示“Microsoft Office...
  • //word 类, /* 1. 添加引用COM里面的 Microsoft Word 12.0 Object. Library 引用(12.0表示Word 2007版本) 2. 导命名空间 using Word =Microsoft.Office.Interop.Word; using System.IO; using System....
  • 我的word突然变成快捷键了怎么回事做着做着word自己变没了1. word文档里设置了改写的模式 电脑中毒了在word文档中插入文字时后面的文字消失怎么解决?步骤1. 打开所要编辑的文字2. 文章中光标的位置需要输入“在”...
  • Word中不能加载EndNote怎么办确认是否有「EndNote (Cwyw Recognizer) 」与「EndNote Cite While&nbsp。修改Word&nbsp,在安装的过程中选择「Repair」进行修复安装;首先可尝试一下重新执行EndNote安装包。③...
  • 1. Word程序启动后就自动打开一个名为(D )的文档。A)Noname B)Untitled C)文件1 D)文档12. 可以显示水平标尺和垂直标尺的视图方式是( B )。A)普通视图 B)页面视图 C)大纲视图 D)全屏显示方式3. 要将文档中一部分选定...
  • CSS布局HTML小编今天和大家分享一BAT脚本运行某指定路径程序执行的程序路径及参数如下: C:\Program Files\McAfee\Common Framework是0001001011001010,余3循环码得到的方法。 1.前100以X5作为BCD代码转换指令的...
  • 今天跟大家一起学习一套小程序自动化框架:Python3+Minium+微信开发者工具前置:已安装Python3环境1. 查询python版本号1.1 打开cmd>>输入pyth...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 83,791
精华内容 33,516
关键字:

word程序启动后就自动