我已经导入了一个csv文件,该文件全部包含带指数的小数,例如(5.5006250364943992 ** 02).我不断收到ValueError:无法将字符串转换为float.这是我所做的:
import matplotlib.pyplot as plt
import csv
x = []
y = []
with open('DNSdata.csv', 'r') as csvfile:
plots = csv.reader(csvfile, delimiter=',')
for row in plots:
x.append(float(row[0]))
y.append(float(row[1]))
plt.plot(x, y, label='DNSdata')
plt.xlabel('x')
plt.ylabel('y')
plt.title('DNSdata')
plt.show()
解决方法:
您编写的语法是文件中使用的语法吗?我认为Python无法解释“ 5.5 ** 02”.
如果“ **”表示“ 10 ^”,则需要手动进行替换.
tmp = row[0].replace("**","e")
x.append(tmp)