鱼C论坛

 找回密码
 立即注册
查看: 2964|回复: 9

[已解决]python 读取问题?

[复制链接]
发表于 2022-8-2 15:51:28 | 显示全部楼层 |阅读模式
30鱼币
本帖最后由 任申猴 于 2022-8-2 15:53 编辑

需求是修改表格内字体的大小 和行间距
  
2022-07-01 18:21:24+08:00
  
  
系统 (系统)
  
  
G7167B:DEBAQ05255 - 获取系统就绪触发
  
  

  
  
2022-07-01 18:21:24+08:00
  
  
系统 (系统)
  
  
G7120A:DEBAY04079 - 获取系统就绪触发
  
  

  
  
2022-07-01 18:21:24+08:00
  
  
系统 (系统)
  
  
G7120A:DEBAY04079 - 泵开启
  
  

  
  
2022-07-01 18:19:38+08:00
  
  
系统 (系统)
  
  
调用方法 氨基甲酸酯.M
  
  

  
  
2022-07-01 09:33:41+08:00
  
  
系统 (系统)
  
  
正在调用序列20220628-kbw.S
  
  

  
  
2022-07-01 09:33:39+08:00
  
  
系统 (系统)
  
  
调用方法 DEF_LC.M
  
  

  
  
2022-07-01 09:33:30+08:00
  
  
系统 (系统)
  
  
欢迎使用 ChemStation
  
  

  
  
2022-07-01 09:33:26+08:00
  
  
系统 (系统)
  
  
G7116B:DEBAZ06201 - 阀操作在指定温度范围内
  
  

  
  
2022-07-01 09:33:26+08:00
  
  
系统 (系统)
  
  
G7116B:DEBAZ06201 - 阀不存在
  
  

  
  
2022-07-01 09:33:26+08:00
  
  
系统 (系统)
  
  
G7116B:DEBAZ06201 - 柱温箱关闭
  
  

  
  
2022-07-01 09:33:20+08:00
  
  
系统 (系统)
  
  
ChemStation 管理工具设置自上次登录仪器后未更改。
  
  

  
  
2022-07-01 09:33:03+08:00
  
  
系统 (系统)
  
  
用户 "系统 (系统)" 已登录
  
  

  
  
2022-07-01 09:32:59+08:00
  
  
系统 (系统)
  
  
用户 "系统 (系统)" 已登录
  
  

  
  
2022-07-01 09:32:26+08:00
  
  
系统 (系统)
  
  
正在关闭 ChemStation
  
  

  
  
2022-07-01 09:31:18+08:00
  
  
系统 (系统)
  
  
正在调用序列20220628-kbw.S
  
  

  
  
2022-07-01 09:31:16+08:00
  
  
系统 (系统)
  
  
调用方法 氨基甲酸酯.M
  
  

  
  
2022-07-01 09:31:16+08:00
  
  
系统 (系统)
  
  
G7167B:DEBAQ05255 -  由于模块离线下载进样器程序失败!
  
  

  
  
2022-07-01 09:31:16+08:00
  
  
系统 (系统)
  
  
G7167B:DEBAQ05255 -  由于模块离线下载进样器程序失败!
  
  

  
  
2022-07-01 09:31:16+08:00
  
  
系统 (系统)
  
  
G7120A:DEBAY04079 -  由于模块离线方法下载失败!
  
  

  
  
2022-07-01 09:31:16+08:00
  
  
系统 (系统)
  
  
G7121B:DEAEJ02404 -  由于模块离线方法下载失败!
  
  

  
  
2022-07-01 09:31:16+08:00
  
  
系统 (系统)
  
  
G7167B:DEBAQ05255 -  由于模块离线方法下载失败!
  
  

  

表格样式是
1.png

import docx

doc = docx.Document(r'C:\Users\admin\Desktop\新建文件夹\1.docx')

# 获取文档中表格信息
tables = doc.tables  # 获取文档中所有表格对象的列表
print(tables)
# [<docx.table.Table object at 0x000001957059CD48>]
print(len(tables))  # 查看文档中表格数量
table0 = tables[0]  # 获取表格对象
# 获取表格的样式信息
print(table0.style)
# 获取一个表格的所有单元格
cells = table0._cells
print(len(cells))  # 表格中单元格数量
# 获取单元格内所有文字信息
cells_string = [cell.text for cell in cells]
print(cells_string)
# 获取表格对象行数量、列数量
col_num = len(table0.columns)
print(col_num) # 3
# 行数量
row_num = len(table0.rows)
print(row_num) # 5
# 获取行对象
row0 = table0.rows[0]
# 获取列对象
col0 = table0.columns[0]
# 获取行对象文字信息
row0_string = [cell.text for cell in row0.cells]
print(row0_string)
# 获取列对象文字信息
col0_string = [cell.text for cell in col0.cells]
print(col0_string)

读出来是这样的
C:\Users\admin\PycharmProjects\flask_test\venv\Scripts\python.exe C:/Users/admin/PycharmProjects/pythonProject/111.py
[<docx.table.Table object at 0x000002340EA4A670>]
1
_TableStyle('Normal Table') id: 2422607367376
32
['', '', '', '', 'smidasmidasmida', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']
4
8
['', '', '', '']
['', 'smidasmidasmida', '', '', '', '', '', '']

进程已结束,退出代码0

想请问下有没有大哥指点一下。。。这种表格怎么修改整体的字体  和行间距
最佳答案
2022-8-2 15:51:29
我声明一下:我是写给你参考思路,告诉你api怎么调用。不是帮你写出来一个可执行的程序。
其次:你上面要修改整个表格,很简单直接tables[0]就可以索引到这个表格了。docx库肯定是返回给你一个table的列表,因为你的文档中可能有很多表格,你只需要检索第一个,参考上面的api修改你想要修改的东西就行。

最佳答案

查看完整内容

我声明一下:我是写给你参考思路,告诉你api怎么调用。不是帮你写出来一个可执行的程序。 其次:你上面要修改整个表格,很简单直接tables[0]就可以索引到这个表格了。docx库肯定是返回给你一个table的列表,因为你的文档中可能有很多表格,你只需要检索第一个,参考上面的api修改你想要修改的东西就行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-2 15:51:29 | 显示全部楼层    本楼为最佳答案   
我声明一下:我是写给你参考思路,告诉你api怎么调用。不是帮你写出来一个可执行的程序。
其次:你上面要修改整个表格,很简单直接tables[0]就可以索引到这个表格了。docx库肯定是返回给你一个table的列表,因为你的文档中可能有很多表格,你只需要检索第一个,参考上面的api修改你想要修改的东西就行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-2 16:50:15 | 显示全部楼层
可以直接上网搜索python设置docx表格,我帮你找到了一个看起来很不错的,应该能解决问题。请给鱼币,谢谢
https://blog.csdn.net/weixin_37281967/article/details/104736020
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-2 16:55:42 | 显示全部楼层
回复里面不能放链接吗?刚刚写了个回复,怎么不显示啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-2 17:00:16 | 显示全部楼层
1.字体设置
    for i in range(len(tab.rows)):
        tab.rows[i].height = Cm(2)
        for j in range(len(tab.columns)):
            tab.cell(i,j).width = Cm(4)
            tab.cell(i,j).vertical_alignment = WD_ALIGN_VERTICAL.CENTER
            for par in tab.cell(i,j).paragraphs:
                print(par.text)
                # par.paragraph_format.styles.font.size=Pt(12)
                for run in par.runs:
                    run.font.size = Pt(12)
                    run.font.name = 'Times New Roman'
                    run.font.name = u'宋体'
                    run._element.rPr.rFonts.s
2.行间距以及段落设置
tab.style.paragraph_format.space_before = Pt(5)
tab.style.paragraph_format.space_after = Pt(5)
tab.style.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
tab.style.paragraph_format.line_spacing_rule = WD_LINE_SPACING.SINGLE

鱼币拿来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-8-2 17:49:25 | 显示全部楼层
xuzitong 发表于 2022-8-2 17:00
1.字体设置
    for i in range(len(tab.rows)):
        tab.rows.height = Cm(2)

C:\Users\admin\PycharmProjects\flask_test\venv\Scripts\python.exe C:/Users/admin/PycharmProjects/pythonProject/111.py
Traceback (most recent call last):
  File "C:\Users\admin\PycharmProjects\pythonProject\111.py", line 10, in <module>
    for i in range(len(tab.rows)):
AttributeError: 'list' object has no attribute 'rows'

进程已结束,退出代码1
还是有报错啊,麻烦看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-2 18:48:01 | 显示全部楼层
# 获取文档中表格信息
tables = doc.tables  # 获取文档中所有表格对象的列表
你这里的tab是列表
上面的代码针对的是单个表格
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-3 01:03:08 | 显示全部楼层
xuzitong 发表于 2022-8-2 16:55
回复里面不能放链接吗?刚刚写了个回复,怎么不显示啊

现在显示了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-8-3 08:51:17 | 显示全部楼层
xuzitong 发表于 2022-8-2 18:48
# 获取文档中表格信息
tables = doc.tables  # 获取文档中所有表格对象的列表
你这里的tab是列表

我就是想改整个表,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-8-3 10:34:29 | 显示全部楼层
xuzitong 发表于 2022-8-2 18:48
# 获取文档中表格信息
tables = doc.tables  # 获取文档中所有表格对象的列表
你这里的tab是列表

我只能修改表格的高度和宽度   不能修改里面的字体
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 21:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表