python怎么调用word?

发布时间:2022-06-07 09:36:27 人气:377 作者:多测师

  使用python操作word

  有两种方式:

  1.使用win32com扩展包

  只对windows平台有效

  代码:

  # coding=utf-8

  import win32com

  from win32com.client import Dispatch, DispatchEx

  word = Dispatch('Word.Application') # 打开word应用程序

  # word = DispatchEx('Word.Application') #启动独立的进程

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

  word.DisplayAlerts = 0 # 不警告

  path = 'G:/WorkSpace/Python/tmp/test.docx' # word文件路径

  doc = word.Documents.Open(FileName=path, Encoding='gbk')

  # content = doc.Range(doc.Content.Start, doc.Content.End)

  # content = doc.Range()

  print '----------------'

  print '段落数: ', doc.Paragraphs.count

  # 利用下标遍历段落

  for i in range(len(doc.Paragraphs)):

  para = doc.Paragraphs[i]

  print para.Range.text

  print '-------------------------'

  # 直接遍历段落

  for para in doc.paragraphs:

  print para.Range.text

  # print para #只能用于文档内容全英文的情况

  doc.Close() # 关闭word文档

  # word.Quit #关闭word程序

python怎么调用word?

  2.使用docx扩展包

  优点:不依赖操作系统,跨平台

  安装:

  pip install python-docx

  代码:

  import docxdef read_docx(file_name):

  doc = docx.Document(file_name)

  content = '\n'.join([para.text for para in doc.paragraphs])

  return content

  创建表格

  # coding=utf-8

  import docx

  doc = docx.Document()

  table = doc.add_table(rows=1, cols=3, style='Table Grid') #创建带边框的表格

  hdr_cells = table.rows[0].cells # 获取第0行所有所有单元格

  hdr_cells[0].text = 'Name'

  hdr_cells[1].text = 'Id'

  hdr_cells[2].text = 'Desc'

  # 添加三行数据

  data_lines = 3

  for i in range(data_lines):

  cells = table.add_row().cells

  cells[0].text = 'Name%s' % i

  cells[1].text = 'Id%s' % i

  cells[2].text = 'Desc%s' % i

  rows = 2

  cols = 4

  table = doc.add_table(rows=rows, cols=cols)

  val = 1

  for i in range(rows):

  cells = table.rows[i].cells

  for j in range(cols):

  cells[j].text = str(val * 10)

  val += 1

  doc.save('tmp.docx')

  读取表格

  # coding=utf-8import docx

  doc = docx.Document('tmp.docx')for table in doc.tables: # 遍历所有表格

  print '----table------'

  for row in table.rows: # 遍历表格的所有行

  # row_str = '\t'.join([cell.text for cell in row.cells]) # 一行数据

  # print row_str

  for cell in row.cells:

  print cell.text, '\t',

  print

  以上内容为大家介绍了python怎么调用word?希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线