如何将 Iterator 转换为 Pandas DataFrame?

How to convert an Iterator into Pandas DataFrame?

我试图从 PDF 中提取复选框值,我可以借助下面的代码,我从 Whosebug 中的一个线程中找到它,它是由 @Fabian 提供的。

filename = 'Accordd1.pdf'
fp = open(filename, 'rb')
parser = PDFParser(fp)
doc = PDFDocument(parser)
fields = resolve1(doc.catalog['AcroForm'])['Fields']
for i in fields:
    field = resolve1(i)
    name = str(field.get('T'),'utf-8')
    value = field.get('V')
    if value != None:
            value = str(value)
            if value[0] == r"/":
                value = value[2:-1]
                value = str(value)
   print (f'{name}: {value}')

下面是我得到的输出:

Check Box47: None
Check Box48: None
Check Box49: None
Check Box50: None
Check Box51: None
Check Box52: None
Check Box53: None
Check Box54: None
Check Box55: None
Text56: None

我是 Python 编程的新手,无法将此输出转换为数据帧,因为我想将其导出到 Excel - 我尝试将数据附加到空白列表中,但它是没有给我正确的结果。任何帮助将不胜感激。

在此先感谢您!

IIUC:

import pandas as pd
data = []
for i in fields:
   #Rest of logic
   print (f'{name}: {value}')
   data.append([name, value])

df = pd.DataFrame(data, columns=['name', 'value'])
df.to_excel("output.xlsx", index=False)