2

我需要将 WordPress 中的内容导入基于 Python 的 CMS Plone,并且我使用“;”将帖子表转储为一个巨大的 CSV vanilla 文件。作为分隔符。

问题是来自csv 模块的标准 CSV 阅读器不够智能,无法解析行(post_content字段)内的 HTML 内容。

例如,当解析器遇到类似的东西时,<p>&nbsp;</p>它将分号解释为字段分隔符,我最终得到的项目多于字段,并且字段内容错误。

有没有其他选择可以解决此类问题?用正则表达式处理行对我来说似乎很可怕。

4

3 回答 3

2

经过一些额外的研究,我excel-tab通过阅读PEP 0305的文本发现了方言(其中建议在 Python 中添加 cvs 模块);这在模块文档中提到过,但我一开始没有注意到。

然后,我使用制表符作为分隔符 ( ) 重新导出了帖子\t

在此处输入图像描述

我做了一个读取一批 1,000 行的测试,并没有发现任何错误。

于 2015-07-16T17:11:36.957 回答
1

对于较小的站点,另一种选择可能是使用pywordpress,这是一个 WordPress XML-RPC API 的 Python 接口。

于 2015-07-17T13:09:46.270 回答
1

CSV 模块提供escapechar格式参数,允许您转义分隔符(已设置为分号)。如果您可以escapechar='\\'在对 的调用中提供,则可以将 CSV 文件中csv.reader()的字符替换为,并替换为(使用文本编辑器的查找/替换选项)。\\\&nbsp;&nbsp\;

于 2015-07-16T01:02:25.853 回答