将Open Library JSON转储格式化为可解析的Python

时间:2013-10-20 13:39:44

标签: python-2.7 csv json

我希望有人对Open Library有一些经验,并试图解析他们的可下载JSON转储。我希望能够解析JSON并将其转换为CSV,但是在将这个JSON变成干净的格式时遇到了问题。

问题是看起来这个“JSON”是开头的一些制表符分隔数据和一些结构化JSON的混合。

是否有任何实用程序可以清理此类数据或者我将不得不写一些松鼠查找&替换脚本?

以下是转储示例(2项):

/type/author    /authors/OL1000057A 2   2008-08-20T17:57:09.66187   {"name": "Kha\u0304lid Muh\u0323ammad \u02bbAli\u0304 al-H\u0323a\u0304jj", "personal_name": "Kha\u0304lid Muh\u0323ammad \u02bbAli\u0304 al-H\u0323a\u0304jj", "last_modified": {"type": "/type/datetime", "value": "2008-08-20T17:57:09.66187"}, "key": "/authors/OL1000057A", "type": {"key": "/type/author"}, "revision": 2}

/type/author    /authors/OL100029A  2   2008-09-08T16:19:17.29978   {"name": "K. Hardono", "personal_name": "K. Hardono", "last_modified": {"type": "/type/datetime", "value": "2008-09-08T16:19:17.29978"}, "key": "/authors/OL100029A", "type": {"key": "/type/author"}, "revision": 2}

我需要将JSON集包装在list []和逗号分开,以便我的解析能够正确运行。

感谢代码清理BTW。

1 个答案:

答案 0 :(得分:0)

你可以使用php解析器来达到这个目的。 它以数据包的形式提供所有数据。

使用OPDumpReader解析OpenLibrary Dumps

https://github.com/manindersingh030/OLDumpReader

  

$ reader = new OLReader($ dumpLocation);

     

的var_dump($阅读器 - > getNextPacket());