2017-04-11 76 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