Python文档数据存储---Word数据写入和读取

     Word文档中一般存储文章、新闻报道小说这类文字内容较长的数据为主。

1、Word数据写入

     Word写入数据的整体思路如下:

  1. 创建生成临时Word对象。
  2. 分别使用add_paragraph()add_heading()对Word对象添加标题和正文内容。
  3. 如果设置正文内容的字体加粗和斜体等,可以将正文内容p对象的属性runs[0].boldadd_run('XX').italic设置为True
  4. 如果设置插入图片和添加表格,可以在Word对象中使用方法add_picture()add_table()
  5. 完成数据写入,需要将Word对象保存成Word文件。

     代码如下:

# 数据写入
from docx import Document
from docx.shared import Inches
# 创建对象
document = Document()
# 添加标题,其中'0'代表标题类型,共四种类型,具体可在Word的'开始'-'样式'中查看
document.add_heading('Python 爬虫', 0)
# 添加正文内容并设置部分内容格式
p = document.add_paragraph('Python 爬虫开发-')
# 设置内容加粗
p.runs[0].bold = True
# 添加内容并加粗
p.add_run('数据存储-').bold = True
# 添加内容
p.add_run('Word-')
# 添加内容并设置字体斜体
p.add_run('存储实例。').italic = True
# 添加正文,设置'样式'-'明显引用'
document.add_paragraph('样式-明显引用', style='IntenseQuote')
# 添加正文,设置'项目符号'
document.add_paragraph(
    '项目符号1', style='ListBullet'
)
document.add_paragraph(
    '项目符号2', style='ListNumber'
)
# 添加图片
document.add_picture('test.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 item in range(2):
    row_cells = table.add_row().cells
    row_cells[0].text = 'a'
    row_cells[1].text = 'b'
    row_cells[2].text = 'c'
# 保存文件
document.add_page_break()
document.save('test.docx')

2、Word数据读取

     读取Word数据的整体思路如下:

  1. 生成Word对象,并指向Word文件。
  2. 使用paragraphs()获取Word对象全部内容。
  3. 循环paragraphs对象,获取每行数据并写入列表。
  4. 将列表转为字符串,每个列表元素使用换行符连接,转换后数据的段落布局与Word文档相似。

     代码如下:

# 数据读取
import docx
def readDocx(docName):
    fullText = []
    doc = docx.Document(docName)
    # 读取全部内容
    paras = doc.paragraphs
    # 将每行数据存入列表
    for p in paras:
        fullText.append(p.text)
        # 将列表数据转换成字符串
    return '\n'.join(fullText)
print(readDocx('test.docx'))

 

你可能感兴趣的:(网络爬虫)