全部产品
云市场

3.2 打印ExcelWord文档

更新时间:2019-09-18 15:40:01

  1. #读取docx中的文本代码示例
  2. import docx
  3. #获取文档对象
  4. file=docx.Document("E:\\test.docx")
  5. print("段落数:"+str(len(file.paragraphs)))#段落数为13,每个回车隔离一段
  6. #输出每一段的内容
  7. for para in file.paragraphs:
  8. print(para.text)
  9. #输出段落编号及段落内容
  10. for i in range(len(file.paragraphs)):
  11. print("第"+str(i)+"段的内容是:"+file.paragraphs[i].text)

Parameters/参数说明

参数名称 参数类型 参数说明
StrFile string docx 文件路径

Return Value/返回信息

  1. 暂无

Remarks/备注

  1. python无法读取.doc文件
  2. 问题分析:python利用python-docx (0.8.6)库可以读取.docx文件或.txt文件,且一路畅通无阻,而对.doc文件本身python是无法操作.doc文件是他的先天不足,将.doc文档利用手动的方式“另存为”.docx文档,就能够成功打开转化后的.docx文档,于是我就尝试利用代码方式完成这个手动的“另存为”功能,问题得以解决。
  3. 利用python将大批.doc文件转化为.docx文件,再读写.docx文件

  1. 暂无

Example/实例

Example 打印word

  1. import sys
  2. import pickle
  3. import re
  4. import codecs
  5. import string
  6. import shutil
  7. from win32com import client as wc
  8. import docx
  9. def start():
  10. # 在此处开始编写您的应用
  11. pass
  12. def PrintWord(StrFile):
  13. #获取文档对象
  14. file=docx.Document(StrFile)
  15. print("段落数:"+str(len(file.paragraphs)))#每个回车隔离一段
  16. #输出每一段的内容
  17. for para in file.paragraphs:
  18. print(para.text)
  19. #输出段落编号及段落内容
  20. for i in range(len(file.paragraphs)):
  21. print("第"+str(i)+"段的内容是:"+file.paragraphs[i].text)
  22. pass
  23. def doSaveAas():
  24. word = wc.Dispatch('Word.Application')
  25. doc = word.Documents.Open(u'E:\\code\\test.doc') # 目标路径下的文件
  26. doc.SaveAs(u'E:\\test.docx', 12, False, "", True, "", False, False, False, False) # 转化后路径下的文件
  27. doc.Close()
  28. word.Quit()
  29. pass

打印Excel文档

  1. for rownum in range(1,nrows):
  2. row = table.row_values(rownum)
  3. if row:
  4. app = {}
  5. for i in range(len(colnames)):
  6. app[colnames[i]] = row[i]
  7. list.append(app)
  8. return list

Parameters/参数说明

参数名称 参数类型 参数说明
file string docx 文件路径
colnameindex int 行号
by_index int 索引

Return Value/返回信息

  1. 暂无

Remarks/备注

  1. 暂无

  1. 确保安装好excle的处理包xlrd
  2. 安装过程如下:http://blog.csdn.net/weixin_40449300/article/details/79138741

Example/实例

Example 打印Excel

  1. import xdrlib ,sys
  2. import xlrd
  3. def open_excel(file= 'file.xls'):
  4. try:
  5. data = xlrd.open_workbook(file)
  6. return data
  7. except Exception as e:
  8. print(str(e))
  9. pass
  10. #根据索引获取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的所以 ,by_index:表的索引
  11. def excel_table_byindex(file= 'E:\\test.xls',colnameindex=0,by_index=0):
  12. data = open_excel(file)
  13. table = data.sheets()[by_index]
  14. nrows = table.nrows #行数
  15. ncols = table.ncols #列数
  16. colnames = table.row_values(colnameindex) #某一行数据
  17. list =[]
  18. for rownum in range(1,nrows):
  19. row = table.row_values(rownum)
  20. if row:
  21. app = {}
  22. for i in range(len(colnames)):
  23. app[colnames[i]] = row[i]
  24. list.append(app)
  25. return list
  26. pass
  27. #根据名称获取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的所以 ,by_name:Sheet1名称
  28. def excel_table_byname(file= 'E:\\test.xls',colnameindex=0,by_name=u'电度'):
  29. data = open_excel(file)
  30. table = data.sheet_by_name(by_name)
  31. nrows = table.nrows #行数
  32. colnames = table.row_values(colnameindex) #某一行数据
  33. list =[]
  34. for rownum in range(1,nrows):
  35. row = table.row_values(rownum)
  36. if row:
  37. app = {}
  38. for i in range(len(colnames)):
  39. app[colnames[i]] = row[i]
  40. list.append(app)
  41. return list
  42. pass
  43. def main():
  44. tables = excel_table_byindex()
  45. for row in tables:
  46. print(row)
  47. tables = excel_table_byname()
  48. for row in tables:
  49. print(row)
  50. pass