簡體   English   中英

Python csv.DictReader嵌入非Unicode字符

[英]Python csv.DictReader embeds non-unicode characters

我正在嘗試將csv導入python中的JSON中:

myjson = list()
with open("stuff.csv","rU") as f:
    vals = csv.DictReader(f)
    for i in vals:
        myjson.append(i)

當我使用csv的DictReader()時,幾乎在每條記錄中,我通常都會得到看似無效的unicode字符,例如:

\xc9

...在文本字段中。 據我所知,這是上下顛倒e的有效unicode字符 但是,由於它嵌入在較長的字符串中,因此似乎實際上未編碼,並且整個鍵是str類型而不是unicode類型。

我假設這是我獲得的數據條目或csv模塊的遺留物,但是是否有任何標志,標記或替代的讀取CSV的方式來通過轉換來適當地處理此內容?

您正在查看Python字符串文字。 \\xc9序列是轉義代碼,Python將其用於任何不可打印或在代碼點128上的代碼點。對於超過255的代碼點,將使用\\uxxxx轉義序列。

默認情況下,Python將打印包含在容器中的值的表示形式,例如列表或字典。 unicode值的表示形式( repr()函數結果)打印為python字符串文字:

>>> print [u'Hello: \xc9']
[u'Hello: \xc9']
>>> print [u'Hello: \xc9'][0]
Hello: É

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM