从列表列表创建熊猫数据框

时间:2020-01-25 12:36:38

标签: python pandas python-docx

我正在尝试使用docx python组合仅包含表格的多个word文档。该代码在指定的文件夹中查找所有docx文件,并创建数据列表。但是,我一直坚持将这些数据从列表转换为pandas数据框。 A link to the tables that I am trying to copy into is here。 我处理过的代码在这里:

import pandas as pd
import io
import os
import csv
from docx import Document
import glob

def read_docx_tables(filename, tab_id=None, **kwargs):

    def read_docx_tab(tab, **kwargs):
        vf = io.StringIO()
        writer = csv.writer(vf)
        for row in tab.rows:
            writer.writerow(cell.text for cell in row.cells)
        vf.seek(0)
        return pd.read_csv(vf, **kwargs)

    doc = Document(filename)
    if tab_id is None:
        return [read_docx_tab(tab, **kwargs) for tab in doc.tables]
    else:
        try:
            return read_docx_tab(doc.tables[tab_id], **kwargs)
        except IndexError:
            print('Error: specified [tab_id]: {}  does not exist.'.format(tab_id))
            raise

path = 'C:\\data\\' # use your path
filelist = glob.glob(path + "/*.docx")

li = []
for file in filelist:
    df= read_docx_tables(file)
    li.append(df)
print(li)

如果我尝试以下代码:data = pd.concat(li)最后出现以下错误:TypeError:无法连接类型为”的对象;只有Seri​​es和DataFrame objs有效。

任何帮助将不胜感激

0 个答案:

没有答案