qimi_and_softkitty 2018-02-02 08:39 采纳率: 0%
浏览 16795
已采纳

Python读取csv文件后str转换为float

-------------------------------------------code---------------------------------
#coding:utf-8
import csv
import xlwt
#新建excel文件
myexcel = xlwt.Workbook()
#新建sheet页
mysheet = myexcel.add_sheet("testsheet")
csvfile = open("data.csv","r")

#读取文件信息
reader = csv.reader(csvfile)
l = 0
#通过循环获取单行信息
for line in reader:
r = 0
#通过双重循环获取单个单元信息
for i in line:
#通过双重循环写入excel表格
x=0
#将第六行第二列的str转换为float
if l > 6:
if r >= 1:
#x=float(i)
x = float(i)

#print(i)
if x > 160:
print(l,r)
mysheet.write(l,r,"high")
else:
mysheet.write(l,r,i)
r=r+1
l=l+1
#最后保存到excel
myexcel.save("myexcel.xls")
-------------------------------------------code---------------------------------
如上,x=float(i)处报错ValueError:could not convert string to float: '-'
此处数据类似 16.02
如何解决。

  • 写回答

4条回答 默认 最新

  • zt3032 2018-02-04 09:24
    关注

    a="-1"
    float(a)
    -1.0
    a="-"
    float(a)
    Traceback (most recent call last):
    File "", line 1, in
    ValueError: could not convert string to float: -

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?