01掛式空調
02普通椅子
02普通窗簾
03書桌-電腦桌-辦公桌
04微波爐-烤箱-洗碗機-消毒櫃
05電暖氣-加濕器-小太陽-電風扇-空氣淨化器
# coding: utf-8
import os
import sys
import json
import string
import re
ijson =
with open("position") as fp:
for line in fp:
label = line.strip().replace("\n", "")
print label
iobject = {}
iobject["id"] = re.sub("\d", "", label)
iobject["label"] = re.sub("[a-za-z0-9\!\%\[\]\,\。]", "", label)
print ijson
, , , , , ]}
unicodedecodeerror: 'utf8' codec can't decode bytes in position 0-1: invalid continuation byte
從背景中看出含有中文的json字串是不能dumps的,會丟擲unicodedecodeerror錯誤,這是因為 dumps 序列化時對中文預設使用的是ascii編碼,為了輸出中文咱們指定ensure_ascii=false:
print json.dumps(ijson, ensure_ascii=false)
, , , , , ]}
更坑爹的來了,會發現部分中文變成了?原因是博主為了分離數字和中文在網上找了個**:
iobject["id"] = re.sub("\d", "", label)
iobject["label"] = re.sub("[a-za-z0-9\!\%\[\]\,\。]", "", label)
修改中文的提取方式:
pattern ="[^\u4e00-\u9fa5]+"
regex = re.compile(pattern)
iobject["label"] = regex.findall(label)[0]
得到格式優美且中文顯示正確的json:
js判斷是否含有中文
第一種 exfcode 1functionischinese temp 2 第二種 exfcode 01functionischn str 02else 第三種 exfcode 01functionfuncchina 02else 第四種 exfcode 1functionischina s 2el...
python含有中文的list如何print出來
python2.x中 debug的時候list的中文,print出來是轉義字元。listnine 梨 橘子 蘋果 香蕉 listnine xe6 xa2 xa8 xe6 xa9 x98 xe5 xad x90 xe8 x8b xb9 xe6 x9e x9c xe9 xa6 x99 xe8 x95 x...
Python 對含有中文的txt進行讀取
參考 python讀取 寫入txt文字內容 一定要加encoding utf8 with open test.txt r encoding utf8 as f 以下為每一行單獨存放在乙個str,info為乙個list infor f.readlines 也可以全部存放在乙個str裡面 infor f...