我有data_pressure
,这是一个numpy数组的列表,例如:
array([ 268752., 26222., 261152., 260958.]),
array([ 123433., 98239., 98932.]),
array([ 2893789., 872398., 92839., 9283982., 7632762., 547627.,])
每个数组都有不同的长度。
我已经使用Python的csv模块保存到这个数组列表:
import csv
csvfile = "csvfile.csv"
with open(csvfile, "w") as output:
writer = csv.writer(output, lineterminator='\n')
for line in data_pressure:
writer.writerow(line)
一切都像魅力一样,但正如我用
读到的那样import csv
data = []
with open('csvfile.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile)
for row in spamreader:
data.append(np.asarray(row))
我得到了
array([ '268752.0', '26222.0', '261152.0', '260958.0']),
array([ '123433.0', '98239.0', '98932.0']),
array([ '2893789.0', '872398.0', '92839.0', '9283982.0', '7632762.0', '547627.0',])
然后,任何数组中的每个值都是字符串类型而不是浮点数。
有没有办法规避这个问题?
答案 0 :(得分:1)
你可以这样传递quoting=quote.QUOTE_NONNUMERIC
:
spamreader = csv.reader(csvfile, quoting=quote.QUOTE_NONNUMERIC)
请参阅the docs:
指示writer对象引用所有非数字字段。
指示读者将所有非引用字段转换为float。
答案 1 :(得分:0)
csv是一个文本文档,因此将数值存储为字符串。将数组加载到numpy数组对象后,可以将数组的类型转换为float。
您可以使用this方法将其从字符串数组转换为浮点数组。
x = np.array(['1.1', '2.2', '3.3'], dtype='|S4')
y = x.astype(np.float)
答案 2 :(得分:0)
您可以按如下方式修改代码的阅读部分。
UIView.animate(withDuration: 0.2, delay: 0, options: .curveEaseInOut, animations: {
self.viewBottomConstraint.constant = -500
self.view.layoutIfNeeded()
}) { (_) in
self.view.removeFromSuperview()
}
谢谢。