因此,我有一个脚本来检查PDF文件中的每一页,然后在每一页上,将PDF文件的文本分成几列。
请考虑以下各列:
{"1":{"position":"15"}, "2":{"position": "50"}}'
pages = {}
npages = 2 #Number of pages in the PDF.
for n in range(npages):
pages[n + 1] = []
for i, col in enumerate(COLUMNS):
out = "Page n Column 1 Text Column 2 Text" #Simplified string.
pages[n + 1].append({int(i + 1): str(out)})
我的假设是,这将创建一个键值对,例如:
page n: text inside the column
尽管如此,上面的脚本还是创建了这样的一对:
{1: 'Page 1 Column 1 Text'} - {2: 'Page 1 Column 2 Text'}
{1: 'Page 2 Column 1 Text'} - {2: 'Page 2 Column 2 Text'}
如您所见,它创建的密钥如下:
{1: 'Page 1 Column 1 Text'}
假设我想这样做:(输出值用于第一次迭代)
for page, column in pages.values():
print("Page: {}".format(page)) #Should output: Page: 1
print("Column Text: {}".format(column)) #Should output: Column Text: Column 1 Text
总而言之,我想要的输出是(其中页码是键,而列文本是值):
{1: 'Page 1 Column 1 Text'}
{1: 'Column 2 Text'}
{2: 'Page 2 Column 1 Text'}
{2: 'Column 2 Text'}
我想念什么?如果这是基础知识,我深表歉意。我是Python的新手。
答案 0 :(得分:2)
似乎您只想要页面列表:
function withBaseWidget<P>(WrappedComponent: React.ComponentType<P>) {
return (props: P) => {
return <BaseWidget><WrappedComponent { ...props } /></BaseWidget>;
}
}
页面将被定义为:
pages = []
npages = 2 # Number of pages in the PDF.
COLUMNS = ["example1", "example2", "example3"]
for n in range(npages):
for i, col in enumerate(COLUMNS):
if i == 0:
pages.append({n + 1: "Page {} Column {} {}".format(n + 1, i + 1, col)})
else:
pages.append({n + 1: "Column {} {}".format(i + 1, col)})
每个评论的更新: 列表不是以这种方式解析内容的理想方法-如果您尝试访问每个页面的列内容,则dict的用法会更有意义。例如:
[{1: 'Page 1 Column 1 example1'},
{1: 'Column 2 example2'},
{1: 'Column 3 example3'},
{2: 'Page 2 Column 1 example1'},
{2: 'Column 2 example2'},
{2: 'Column 3 example3'}]
结果将页面定义为:
pages = {}
npages = 2 # Number of pages in the PDF.
COLUMNS = ["example1", "example2", "example3"]
for n in range(npages):
page_name = "Page {}".format(n + 1)
pages[page_name] = {}
for i, col in enumerate(COLUMNS):
column_name = "Column {}".format(i + 1)
pages[page_name][column_name] = col