【发布时间】:2020-04-09 08:53:47
【问题描述】:
当我运行下面的代码时,我收到一条错误消息“ValueError: could not convert string to float:”。我已经梳理了我的 1.CSV 文件,看看如果我删除了这些列,列中是否有字符串类型的数据。我的问题是我在这个问题中遗漏了什么?
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt('1.csv', skiprows=2, delimiter=',')
time = data[:, 6]
HTR1_Volts = data[:, 24]
HTR2_Volts = data[:, 25]
plt.plot(time, HTR1_Volts, color='red', label="HTR1_Volts")
plt.plot(time, HTR2_Volts, color='blue', label="HTR2_Volts")
plt.ylabel("CO2 (ppm)")
plt.xlabel("Time (sec)")
plt.title('Interesting Graph\nCheck it out')
plt.grid(color='black', linestyle='-', linewidth=0.5)
legend_x = 1
legend_y = 0.5
plt.legend(["HTR1_Volts", "HTR2_Volts"], loc='center left', bbox_to_anchor=(legend_x, legend_y))
plt.savefig('PLOT1.PNG', dpi=600, bbox_inches="tight")
plt.show()
【问题讨论】:
-
您在其中一行中有一个空列。确保没有任何空行。
-
注意错误是报告一个empty字符串。
-
请记住,CSV 只能存储文本。电子表格程序在导入 CSV 时,可能会尝试根据字符串的外观对数字转换进行一些智能猜测。但在文件中,一切都只是字节,CSV 格式并没有真正规定对它们的任何特定解释,除了将数据视为文本并解释换行符、逗号和引号来确定行和列。
-
请提供minimal reproducible example,以及完整的错误信息。
-
AMC :如果我可以附上 1.CSV 文件,我希望我可以,但不幸的是我没有,所以我无能为力。