【发布时间】:2021-10-28 03:41:47
【问题描述】:
我正在从 pdf 中提取数据到列表中
list1=[]
for page in pages:
for lobj in element:
if isinstance(lobj, LTTextBox):
x, y, text = lobj.bbox[0], lobj.bbox[3], lobj.get_text()
if isinstance(lobj, LTTextContainer):
for text_line in lobj:
for character in text_line:
if isinstance(character, LTChar):
Font_size = character.size
list1.append([Font_size,(lobj.get_text())])
if isinstance(lobj, LTTextContainer):
for text_line in lobj:
for character in text_line:
if isinstance(character, LTChar):
font_name = character.fontname
list1.append(font_name)
print(list1)
给我一个列表列表,其中 font_name 不在每个列表中,包含大小和文本。
list = [[12.0, 'aaa'], 'IJEAMP+Times-Bold', [12.0, 'bbb'], 'IJEAOO+Times-Roman', [12.0, 'ccc'], 'IJEAMP+Times-Bold', [10.0, 'ddd'], 'IJEAOO+Times-Roman', [10.0, 'eee'], 'IJEAOO+Times-Roman', [8.0, '2\n'], 'IJEAOO+Times-Roman', 'IJEAOO+Times-Roman']
列表列表的外观
list = [[12.0, 'aaa', 'IJEAMP+Times-Bold'], [12.0, 'bbb', 'IJEAOO+Times-Roman'], [12.0, 'ccc', 'IJEAMP+Times-Bold'], [10.0, 'ddd', 'IJEAOO+Times-Roman'], [10.0, 'eee', 'IJEAOO+Times-Roman'], [8.0, '2\n', 'IJEAOO+Times-Roman'], 'IJEAOO+Times-Roman']
如果可能,我想请教我的问题的答案,以修复我在代码中的错误。我相信这是可能的,这样我就不需要创建两个列表,然后zip它们。
我试过 list2.extend([list1, font_name]) 但这并没有做到这一点,因为 font_name 不断拆分成单个字母
【问题讨论】:
标签: python-3.x list for-loop append list-comprehension