csv 字符串_Python实现json转csv格式
利用Python實(shí)現(xiàn)json格式轉(zhuǎn)換為csv文件格式
前言
本文是學(xué)校的課程設(shè)計(jì),這里我沒有用封裝好的json庫來實(shí)現(xiàn),而是把讀進(jìn)來的文件當(dāng)一個字符串來處理,核心函數(shù)其實(shí)是python的eval()類型轉(zhuǎn)換函數(shù)。
什么是 JSON?
我們要考慮到j(luò)son格式下key-value對的結(jié)構(gòu)是無序的。JSON:JavaScript Object Notation(JavaScript 對象表示法),是存儲和交換文本信息的語法。有點(diǎn)類似 XML,JSON 比 XML 更小、更快,更易解析,同時刪除了不必要的元素信息。
讀取文件
首先讀取文件數(shù)據(jù)到data_str, 這里注意文件編碼,否則會出現(xiàn)亂碼。
with觀察一下讀取的json內(nèi)容
printjson文件格式
替換元素
對json文件做一個替換,這里這樣替換是有問題的,因?yàn)閺那跋蚝髵呙璧臅r候只有在引號外的元素才需要替換,可以對掃過的引號數(shù)量取模實(shí)現(xiàn)。
data_str類型函數(shù)
判斷當(dāng)前的字符串屬于哪個類型
defhead函數(shù)的實(shí)現(xiàn)
遍歷獲得json的所有key作為csv的表頭
data_headbody內(nèi)容的轉(zhuǎn)換
data_head_dict保存轉(zhuǎn)換后CSV的body內(nèi)容
data_head_dict寬度的拓展,這里實(shí)現(xiàn)的時候比較暴力。解決方案如下: 1. 最后自底向上刪空行 2. 處理head的時候加tag記錄行號
for看一下表的內(nèi)容是否正確
for輸出CSV文件
with以utf-8編碼格式輸出文件
with5 rows × 116 columns
總結(jié)
以上是生活随笔為你收集整理的csv 字符串_Python实现json转csv格式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python字典怎么设置_在python
- 下一篇: python—os模块、时间模块