[问题]该怎样将json档转成CSV?

楼主: allen511081 (蓝)   2015-01-23 10:50:41
各位好,小弟放弃之前使用的方法,最近又碰到一些小问题,
我手上有一个json档想要转成CSV的格式,也要将空值去除
以下是我的json档部分内容
[{"title": ["\n\u65e5\u671f\uff1a 1985-02-10"]},{"title":
["\u6642\u9593\uff1a0900:1230"]},{"title":
["\u5929\u3000\u6c23\uff1a\u9670"]},{"title":
["\u53f0\u5317\u91d1\u5c71"]},{"title": ["\u9ce5\u6cc1\uff1a
25\u7a2e\n"]},{"title": ["\u8a18\u9304\u4eba\uff1a\u9673\u8449\u65fa
"]},{"title":
["\n\u4f8b\u884c\u6d3b\u52d5\uff0d\u5b8c\u6574\u8a18\u9304"]},{"title":
["\u5099\u8a3b\uff1a\u6d77\u6ff1\u516c\u5712"]},{"title": []},{"birdName":
["\u9e15\u9dc0"]},{"birdName": ["\u9ec3\u982d\u9dfa"]},{"birdName":
["\u5c0f\u767d\u9dfa"]},{"count": ["12\u96bb 4J"]},{"count": ["10\u96bb
"]},{"count": ["1\u96bb "]},{"birdName": ["\u9ed1\u9cf6"]},{"birdName":
["\u7fe0\u9ce5"]},{"birdName":
["\u4e94\u8272\u9ce5(\u53f0\u7063\u64ec\u5544\u6728)"]},{"count": ["5\u96bb
"]},{"count": ["1\u96bb "]},{"count": ["1\u96bb \u25b3"]},{"birdName":
["\u6d0b\u71d5"]},{"birdName": ["\u5927\u5377\u5c3e"]},{"birdName":
["\u559c\u9d72"]},{"count": ["2\u96bb "]},{"count": ["20\u96bb
"]},{"count": ["1\u96bb "]}]
我想要变成 title , birdName ,count的格式
XXX YYY ZZZ
XXX YYY ZZZ
XXX YYY ZZZ
XXX YYY ZZZ
XXX YYY ZZZ
我试过这些范例
http://stackoverflow.com/questions/1871524/convert-from-json-to-csv-using-python
http://www.ehow.com/how_12112069_convert-json-csv-python.html
https://jonlabelle.com/snippets/view/python/json-to-csv
但是都没办法变成我要得的格式,请问各位大大,我该怎么做?
作者: ccwang002 (亮)   2015-01-23 12:24:00
df = pandas.io.json.read_json(your_json_str)但你的鸟名、计数、标题不是在同一个 {...} 里不是很清楚要怎么组合在一起上述问题解决后存盘用 df.to_csv('path/to/out.csv')ps 范例都可以用,但怎么整理资料要自己写就是
楼主: allen511081 (蓝)   2015-01-23 15:27:00
这json的格式是让scrapy自行储存的格式我会先照你的方法试看看,谢谢你 ccwang002
作者: ccwang002 (亮)   2015-01-23 15:56:00
你下次可以用 $ echo my.json | python -m json.tool把你的 json 格式弄得好看点,再贴到 gist.github.com之类的贴程式码的地方,别人要读会比较好懂喔~
作者: zeroshine (rain)   2015-01-23 16:14:00
scrapy不是可以直接写成csv?
楼主: allen511081 (蓝)   2015-01-23 16:16:00
回楼上,是可以,但是他会变成通通写在第一行里我要的格式是分三行写入,如同在文章里看到的样子
作者: zeroshine (rain)   2015-01-24 02:04:00
应该是可以直接输出成你的要求 指示没有看你的code不知你的问题在哪

Links booklink

Contact Us: admin [ a t ] ucptt.com