Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tika-Pandas bridge是否将PDF内容导出到Excel?_Python_Excel_Pandas_Pdf_Apache Tika - Fatal编程技术网

Python Tika-Pandas bridge是否将PDF内容导出到Excel?

Python Tika-Pandas bridge是否将PDF内容导出到Excel?,python,excel,pandas,pdf,apache-tika,Python,Excel,Pandas,Pdf,Apache Tika,我想让Python读取一个PDF文件(“Spain.PDF”,包含11列59行,其中一行是标题),并将其内容导出到Excel 这里有许多PDF Excel线程,但我所参考的没有一个涉及到从解析的Tika内容到写入Excel的Pandas数据帧的桥接概念 我搜索了这个网站(和其他地方),与几个程序员交谈,查阅了一些手册和书籍。我不能对每一个FM都进行R_,因为作为一个新手,我不知道该把重点放在哪里:也就是说,我想将内容刷新到熊猫数据帧中吗 从SO和Sweigart(2015)中,我找到了Tika、

我想让Python读取一个PDF文件(“Spain.PDF”,包含11列59行,其中一行是标题),并将其内容导出到Excel

这里有许多PDF Excel线程,但我所参考的没有一个涉及到从解析的Tika内容到写入Excel的Pandas数据帧的桥接概念

我搜索了这个网站(和其他地方),与几个程序员交谈,查阅了一些手册和书籍。我不能对每一个FM都进行R_,因为作为一个新手,我不知道该把重点放在哪里:也就是说,我想将内容刷新到熊猫数据帧中吗

从SO和Sweigart(2015)中,我找到了Tika、Tablea和PyPDF2来解析PDF内容。蒂卡最适合我。(tabla应用程序非常适合手动转储,但Python模块不适合我运行。)我使用了以下代码:

from tika import parser
raw = parser.from_file('spain.pdf')
print(raw['content'])
它将干净的内容打印到我的控制台

我正在尝试将此内容传输到数据框中,然后通过XlsxWriter(或类似模块)将其导出到Excel:

有人能给我指一下正确的方向吗?如有任何想法,将不胜感激。非常感谢您的关注


代码是用Atom 1.45编写的,并通过Windows PowerShell 5.1运行。环境是运行Windows 10 Home v1903的Microsoft Surface 2笔记本电脑上的Python v3.8.0。

似乎您遇到的主要问题是,您使用的Excel Writer代码要求另一个名为
xlsxwriter
的程序作为引擎(与默认的
openpyxl
库相反)您可能没有安装,因为它独立于熊猫

所以第一步是确保安装它(
pip install xlsxwriter
) 根据您的帖子,我在终端/命令行中运行了以下代码,效果很好:

import pandas as pd
dataSpain = pd.DataFrame({'Survey': ["Key","ISO","Country","Region","Province","Comarca","City","Name","Age","Gender","Hospital"]})
with pd.ExcelWriter('FromPython.xlsx',engine='xlsxwriter') as writer:
    dataSpain.to_excel(writer)

如果它不起作用,下一步就是分享你得到的错误。希望这有帮助

谢谢,李安!我确实安装了xlsxwriter,但我错过了“with~as writer:”组合。但是,当我导出到excel时,控制台中的内容不会刷新到excel。只有我定义的列标题才会出现在我的Excel工作表中。当您打印(原始['content'])时,您会看到Tika返回的字符串的表示形式,但该字符串尚未“准备好”转换为数据帧。我相信您遇到的问题是,您没有将字符串转换为一种数据类型,而Pandas可以将其转换为DataFrame
ndarray(结构化或同构)、Iterable、dict或DataFrame
()。
import pandas as pd
dataSpain = pd.DataFrame({'Survey': ["Key","ISO","Country","Region","Province","Comarca","City","Name","Age","Gender","Hospital"]})
with pd.ExcelWriter('FromPython.xlsx',engine='xlsxwriter') as writer:
    dataSpain.to_excel(writer)