工作中資料清洗時遇到以下情況:
a = ''
由於讀取出的json字串中包含有非法雙引號,在使用json.loads()
處理的時候報錯
json.decoder.jsondecodeerror: expecting ',' delimiter: line 1 column 29 (char 28)
寫了大半個小時的正則都無法解決
後來使用如下方法解決了,一併把json字串中的換行符、分隔符和雙引號都轉義了
def
deal_json_invaild
(data):
data = data.replace("\n", "\\n").replace("\r", "\\r").replace("\n\r", "\\n\\r") \
.replace("\r\n", "\\r\\n") \
.replace("\t", "\\t")
data = data.replace('": "', '&&testpassword&&')\
.replace('", "', "$$testpassword$$")\
.replace('', "**testpassword**")
print(data)
data = data.replace('"', r'\"')\
.replace('&&testpassword&&', '": "').replace('$$testpassword$$', '", "').replace('@@testpassword@@', '')
print(data)
return data
測試如下:
a = deal_json_invaild(a)
json_data = json.loads(a)
>
此時轉使用json.loads()
便不會報錯了 python 裡面處理json
今天遇到json資料的批量處理 把json轉成csv 其實json檔案就是key value的形式,讀到python就是dict,如果外面套了,讀到python裡面就變成list,讀取的時候需要loads和load的區別 load是對已經讀入到記憶體的檔案的解析為python的變數 loads是從硬...
python 處理json資料
以下是登入賬號後獲取的json資料,headers中注意加入cookie值 需要處理的資料如下 全部 如下 response.text 轉換成json格式 dic data dict str datalist dic data dict str datalist 0 userid 取出字典中的字段值...
python 中 json的處理
python中的json物件,其實就是字典型別。利用json模組,可以將字串型別的json串轉換為 json物件 字典物件 也可以將json物件 字典物件 轉換為字串物件。如 coding utf 8 import json str obj json.loads str 字串轉字典物件 json物件...