我需要从WordPress导入内容到Plone,一个基于Python的CMS,我有一个转储的帖子表作为一个巨大的CSVvanilla文件使用";"作为分隔符。
问题是来自csv模块的标准CSV阅读器不够智能,无法解析行内的超文本标记语言内容(post_content
字段)。
例如,当解析器遇到类似的东西时
是否有其他选项可以解决此类问题?使用正则表达式处理行对我来说似乎很可怕。
经过一些额外的研究,我通过阅读PEP0305的文本发现了excel-tab
方言(它提议将cvs模块添加到Python);这在模块留档中提到,但我一开始没有注意到。
然后,我使用制表符作为分隔符(\t
)重新导出帖子。
我做了一个测试,读取了一批1000行,没有发现任何错误。
CSV模块提供了evechar
格式参数,它允许您转义分隔符(您已将其设置为分号)。如果您可以在csv. read()
的调用中提供evechar='\\'
,那么您可以将CSV文件中的字符\
替换为\\
,并将替换为
另一个选择,对于较小的网站,可以使用pywordpress,一个WordPressXMLRPCAPI的pythonic接口。