我有一个输入文本文件,其中包含逐页从PDF中提取的数据。 此输入文本文件不具有列和行格式的所有数据。 我如何将其转换为文件格式的csv或excel,如图所示按列和行排列的数据。 我已经附加了样本输入文件以及所需的样本输出文件。 有免费软件或Java / Python吗?我应该如何开始?此过程的任何潜在客户均受到高度赞赏。
输入文件 https://drive.google.com/file/d/1Ak0pqpJApp0KlIDxub3txbacTQf_OJOK/view?usp=sharing
输出文件 https://drive.google.com/file/d/1AiUsyE5lddtfw16OcoU8WNIzFS8yjKOd/view?usp=sharing
答案 0 :(得分:0)
您必须基本上编写一个解析器。解析可以通过基本的字符串操作来完成。然后可以通过pandas to excel之类的库来写入excel文件。
以下是一些有用的解析提示:
这将使您可以在每个空格处分割文本。例如
>>> "Hello World".split()
['Hello', 'World']
现在,如果零件始终处于相同的独立位置,则可以通过建立索引来获取它们。 要在单独的列表中获得每一行,您可以执行以下操作:
text = "Your text you read from the file. \n with some \n newlines \n"
lines = text.split("\n")
假设您现在需要第3行的某些内容:
line3 = lines[3]
现在,您可以计算行和空格的索引,并可以创建有关如何获取信息的规则。
如果您有可以用正则表达式表示的模式,则可以使用此模块。
例如,您希望所有日期都采用(dd / mm / yy)格式:
>>> import re
>>> text = "19/02/99 or another date 26/12/12 non valid date 12/12/1999"
>>> re.findall(r"[0-9]{2}\/[0-9]{2}\/[0-9]{2}", text)
['19/02/99', '26/12/12', '12/12/19']
评估和测试正则表达式的非常有用的工具是:regex101
如果您还有其他疑问或想要了解有关某个特定主题的更多详细信息,欢迎在评论中提问。