Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用xlsxwriter将表格从Word(.docx)写入Excel(.xlsx)_Python_Python 3.x_Xlsxwriter_Python Docx - Fatal编程技术网

Python 使用xlsxwriter将表格从Word(.docx)写入Excel(.xlsx)

Python 使用xlsxwriter将表格从Word(.docx)写入Excel(.xlsx),python,python-3.x,xlsxwriter,python-docx,Python,Python 3.x,Xlsxwriter,Python Docx,我试图为表格解析一个单词(.docx),然后使用xlsxwriter将这些表格复制到excel。 这是我的代码: 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:

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

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()
这是我想要的输出:

但是,以下是我的实际输出:

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

我是否可以使用xlsxwriter获得所需的输出?非常感谢您提供的任何帮助

我将使用软件包,而不是
xlsxwriter
,如下所示:

from docx.api import Document
import pandas as pd

document = Document("D:/tmp/test.docx")
tables = document.tables
df = pd.DataFrame()

for table in document.tables:
    for row in table.rows:
        text = [cell.text for cell in row.cells]
        df = df.append([text], ignore_index=True)

df.columns = ["Column1", "Column2"]    
df.to_excel("D:/tmp/test.xlsx")
print df
输出插入excel中的以下内容:

>>> 
  Column1 Column2
0   Hello    TEST
1     Est    Ting
2      Gg      ff

这是代码更新的一部分,允许我获得所需的输出:

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
输出


当然有可能。不要将一行中的所有内容都写入单个单元格(
Sheet1.write(index\u row,0,str(big\u data))
)@SiHa您好,谢谢您的评论!我试着在你的代码行中替换,但它仍然产生相同的输出。好的,是的,我的代码就是你的代码。我突出显示了问题所在的行,您正在将一行中的所有值写入列索引为0的单元格。您需要更改代码,以便在每个
行数据中增加此值item@SiHa隐马尔可夫模型。。。我明白你的意思,但当我运行修改后的代码时,我仍然无法获得所需的输出。请看我编辑的帖子!嗨,塞德里克!谢谢你的帮助!:)我也在想如何使用xlsxwriter!我会发布我的答案