2015-07-10 74 views
2

我正在編寫一個Python + Selenium腳本來廢除Linkedin網站。
我用這個語句,它工作正常讀取的個人資料摘要:如何處理python中的unicode語言

profileDescription = profile.find_element_by_xpath("div/div[1]").text 

我的問題是,與網站的非英語數據的到來。
我寫使用此代碼從網站報廢到Excel中的數據:

with open('search.csv', 'ab') as csvfile: 
    self.liSearchOutWriter = csv.writer(csvfile, delimiter=',') 
    self.liSearchOutWriter.writerow([profileDescription]) 

每當描述包含非英文數據,它無法正確在Excel中顯示。我閱讀了unicodeutf8資源,但無法控制它。

有人可以幫助我瞭解如何修改我的代碼以正確顯示非英文數據嗎?

+0

你正在使用哪個版本的python? (呃,如果你使用的是python2,你可以切換到使用python3嗎?) – NightShadeQueen

+0

我使用Python 2.7,我不能使用Python 3 – cppcoder

+0

考慮用'codecs.open'打開文件。 –

回答

1

在Python 3.X,這是支持開箱即用的:

import csv 
with open('search.csv', newline='', encoding='utf-8') as csvfile: 
    reader = csv.reader(csvfile) 
    for row in reader: 
     print(row) 

如果您在Python 2.X是有一個下拉庫CSV支持Unicode: unicode-csv

import unicodecsv 
with open('search.csv', newline='', encoding='utf-8') as csvfile: 
    unicodecsv.reader(f, encoding='utf-8' 
+0

使用'unicodecsv'後出現此錯誤。 'UnicodeDecodeError:'utf8'編解碼器無法解碼位置0中的字節0xd6:無效 延遲字節' – cppcoder