[問題]該怎樣將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