使用 xlsxwriter 将表格从 Word (.docx) 写入 Excel (.xlsx) [英] Write tables from Word (.docx) to Excel (.xlsx) using xlsxwriter

查看:19
本文介绍了使用 xlsxwriter 将表格从 Word (.docx) 写入 Excel (.xlsx)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试为表格解析一个单词 (.docx),然后使用 xlsxwriter 将这些表格复制到 excel.这是我的代码:

I am trying to parse a word (.docx) for tables, then copy these tables over to excel using xlsxwriter. This is my code:

from docx.api import Document
import xlsxwriter

document = Document('/Users/xxx/Documents/xxx/Clauses Sample - Copy v1 - for merge.docx')
tables = document.tables

wb = xlsxwriter.Workbook('C:/Users/xxx/Documents/xxx/test clause retrieval.xlsx')
Sheet1 = wb.add_worksheet("Compliance")
index_row = 0

print(len(tables))

for table in document.tables:
data = []
keys = None
for i, row in enumerate(table.rows):
    text = (cell.text for cell in row.cells)

    if i == 0:
        keys = tuple(text)
        continue
    row_data = dict(zip(keys, text))
    data.append(row_data)
    #print (data)
    #big_data.append(data)
    Sheet1.write(index_row,0, str(row_data))      
    index_row = index_row + 1

print(row_data)

wb.close()

这是我想要的输出:

然而,这是我的实际输出:

However, here is my actual output:

我知道我当前的输出会生成一个字符串列表.

I am aware that my current output produces a list of string instead.

无论如何我可以使用 xlsxwriter 获得我想要的输出?非常感谢任何帮助

Is there anyway that I can get my desired output using xlsxwriter? Any help is greatly appreciated

推荐答案

这是我的代码更新部分,它允许我获得我想要的输出:

This is the portion of my code update that allowed me to get the output I want:

for row in block.rows:
        for x, cell in enumerate(row.cells):
            print(cell.text)
            Sheet1.write(index_row, x, cell.text)
        index_row += 1

输出:

这篇关于使用 xlsxwriter 将表格从 Word (.docx) 写入 Excel (.xlsx)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆