Python:无法将字符串转换为数字

时间:2016-10-25 08:49:41

标签: python pandas numpy

当我从CSV文件中提取数据时,我的列中的数据显示为'7,066''203,452,512'该列也有空白。

我正在使用Python 3.4和pandas 0.14.1(不能使用pandas帖子,因为它使我的循环变慢了50倍 - 所以需要单独解决它)

我已尝试pd.read_csv(dtype={'Col1':np.float64})导致错误:TypeError: unorderable types: NoneType() > int()

我还尝试convert_objects(convert_numeric=True),将所有这些数字转换为nan

在这个小问题上拉头发 - 已经通过网站上的解决方案,但真的卡住了 - 非常感谢你看看。

2 个答案:

答案 0 :(得分:0)

使用分割功能 例如。

x= "7,66,188"
y = x.split(',')
for val in y:
   print int(val)

希望它适合你。

答案 1 :(得分:0)

你的问题不是很清楚 - 我假设你想要#7,066'或者' 203,452,512'作为数字(浮动,因为你提到尝试float64) - 你可以遍历它,将以下内容应用于每个元素:

>>> val = '7,666,188'
>>> val_num = float(val.replace(',', ''))
>>> val_num
7666188.0