Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我的字符串没有转换成浮点,我不知道为什么_Python - Fatal编程技术网

Python 我的字符串没有转换成浮点,我不知道为什么

Python 我的字符串没有转换成浮点,我不知道为什么,python,Python,我正在导入一些文本文件并尝试绘制一些数据,但是,我不断收到错误消息: ValueError:无法将字符串转换为浮点: 这是我代码中给我带来麻烦的部分。你觉得这有什么问题吗? 谢谢大家! import matplotlib.pyplot as plt import numpy as np import pylab fluxdensity = [] days= [] with open('knowniaxflux.csv') as f: for row in f.readlines()

我正在导入一些文本文件并尝试绘制一些数据,但是,我不断收到错误消息:

ValueError:无法将字符串转换为浮点:

这是我代码中给我带来麻烦的部分。你觉得这有什么问题吗? 谢谢大家!

import matplotlib.pyplot as plt
import numpy as np
import pylab 

fluxdensity = []
days= []
with open('knowniaxflux.csv') as f:
     for row in f.readlines():  
        row.strip('\n')
        if not row.startswith("#"):
            spaces = row.split(',')
            fluxdensity.append(float(spaces[0]))
            days.append(float(spaces[1]))

你可能只是没有得到你想要的信息。您应该使用
print
语句来查看实际要转换的内容(当然是在调试时。稍后删除它们)

此外,除非您确切地知道输入的样子,否则您可能需要一个更可靠的解析器。例如,
#
可能不是文件中的第一个字符。您可能希望为文件指定编码(除非始终使用ASCII/UTF-8(PY2/PY3))。如果需要,您可能还希望剥离空间


根据我的经验,如果所有这些都失败了,那么您的文件是用错误的编码编写的。确保您的文件是使用上述编码之一编写的,最好将二进制输入转换为Unicode格式(特别是如果您使用的是PY3。这将是
str
对象)。阅读PythonUnicode HOWTO,它应该会让一切变得清晰。

float(“1.21千兆瓦”)
->ValueError。您的字符串中有无法解析为浮点的内容(实际上看起来像一个空字符串,即
float(“”)
->ValueError),您可以在“knowniaxflux.csv”中发布一些数据吗?此外,此消息实际上似乎并不影响我要查找的最终结果,它只是很奇怪。打印空格[0],您将知道它无法转换的原因。为什么不将转换放在
try
块中,捕获
ValueError
,并
print
错误字符串?