2017-04-11 101 views
0

這可能會更容易一個,但這一個是糾纏我一段時間。幫助將不勝感激。從列表中刪除前綴u'

問題定義: 通過刪除前綴爲數據的unicode值使列表輸出看起來很好。

這裏是我的代碼:

nfl = np.genfromtxt("drinks.csv", dtype="<U75", skip_header=1, delimiter=",") 
print(nfl) 

輸出如下:!

[[u'Afghanistan' u'0' u'0' u'0' u'0.0'] 
[u'Albania' u'89' u'132' u'54' u'4.9'] 
[u'Algeria' u'25' u'0' u'14' u'0.7'] 
[u'Andorra' u'245' u'138' u'312' u'12.4'] 
[u'Angola' u'217' u'57' u'45' u'5.9']] 

我也試着打印一樣的打印(STR(NFL))不走運我將如何修改輸出?

我想看到什麼是

[['Afghanistan' '0' '0' '0' '0.0'] 
['Albania' '89' '132' '54' '4.9'] 
['Algeria' '25' '0' '14' '0.7'] 
['Andorra' '245' '138' '312' '12.4'] 
['Angola' '217' '57' '45' '5.9']] 
+0

我不是專家,但你不能用正則表達式來做這件事嗎? 嘗試: u \' 並替換爲' –

+2

可能的重複[在python字符串中禁止u'prefix指示unicode'](http://stackoverflow.com/questions/761361/suppress-the-uprefix-indicating- unicode-in-python-strings) –

+1

你的加載中的dtype指定unicode' hpaulj

回答

0

@hpaulj評論幫助我,我得到了期望的輸出。

nfl = np.genfromtxt("drinks.csv", dtype="S75", skip_header=1, delimiter=",") 
print(nfl) 

我有我想要的輸出:

[['Afghanistan' '0' '0' '0' '0.0'] 
['Albania' '89' '132' '54' '4.9'] 
['Algeria' '25' '0' '14' '0.7'] 
['Andorra' '245' '138' '312' '12.4'] 
['Angola' '217' '57' '45' '5.9']] 

謝謝大家!

0

可以將編碼更改爲utf8(U表示對Unicode)。
代碼示例:

item.encode('utf8') 

記得導入庫 'unicodedata'。

0

您的列表中缺少逗號,這將無濟於事,但我認爲這只是您看到的列表是其原始狀態。如果你真的提取數據,你會發現'你'已經消失了。

data = [[u'Afghanistan', u'0', u'0', u'0', u'0.0'], 
[u'Albania', u'89', u'132', u'54', u'4.9'], 
[u'Algeria', u'25', u'0', u'14', u'0.7'], 
[u'Andorra', u'245', u'138', u'312', u'12.4'], 
[u'Angola', u'217', u'57', u'45', u'5.9']] 

for country in data: 
    for item in country: 
     print item 

我希望這就是你要求的。

+0

逗號缺失,因爲他正在打印一個numpy數組,而不是列表的列表。 – hpaulj