2013-05-15 52 views
0

我該文本在文本框中輸入得到錯誤的蟒蛇與字符從Word文檔

‘f’fdsfs’`[email protected]#$%^’’;’」」::’ 

我coverting成JSON,然後當我談到作爲

"\\u2018f\\u2019fdsfs\\u2019`[email protected]#$%^\\u2019\\u2019;\\u2019\\u201d\\u201d::\\u2019e" 

現在寫csv文件,然後我得到這個錯誤

'ascii' codec can't encode character u'\u2018' in position 0: ordinal not in range(128) 

csv.writer(data)

我嘗試了所有data.encode('utf-8')data.decode('unicode-escape'),但沒有奏效

+0

作品我使用Python 2.7.3:'X = 「\\ \\ u2018f ... u2019fdsfs」; j = json.loads('''+ x +'「');打印j.encode('utf-8')' –

+0

他的問題是與csv寫作 –

+0

有一些時髦的東西與您的輸入以及。 \ u2019對應於這個字符http://en.glyphwiki.org/wiki/u2018f – specialscope

回答

1

CSV模塊不支持Unicode使用https://github.com/jdunck/python-unicodecsv代替

雖然林不知道,\ u2018是UTF-8字符集的一部分

x = "\\u2018f\\u2019fdsfs..."; j = json.loads('"' + x + '"'); print j.encode('cp1252') 
‘f’fdsfs... 

注意它正在編碼爲cp1252

>>> import unicodecsv as csv #https://github.com/jdunck/python-unicodecsv 
>>> x = "\\u2018f\\u2019fdsfs..."; j = json.loads('"' + x + '"'); 
>>> with open("some_file.csv","wb") as f: 
...  w = csv.writer(f,encoding="cp1252") 
...  w.writerow([j,"normal"]) 
... 
>>> 

這裏是CSV文件:https://www.dropbox.com/s/m4gta1o9vg8tfap/some_file.csv

+0

我試過了這裏提到的UnicodeWriter以及http://docs.python.org/2/ library/csv.html#csv-examples但是我得到了同樣的錯誤 – user2330497

+0

我所知道的只是使用了我鏈接到的那個,它運行良好...還請注意,您需要將其編碼爲cp1252 ...儘管您可能如果指定了正確的編碼(cp1252) –

+0

,則可以在MS字中使用所需字符,然後使用這些字符進行檢查。因爲MS詞正在添加字符 – user2330497