[英]unexpected EOF while parsing string to float python
I`m trying to read data from CSV file contains matrix of strings ["1", "2", "1", "3", "45", "65"] I want to change it to float or int to prepare my data to using tensorflow 我试图从CSV文件中读取数据包含字符串矩阵[“1”,“2”,“1”,“3”,“45”,“65”]我想将其更改为float或int来准备我的数据使用tensorflow
import numpy as np
import tensorflow as tensorFlow
import csv
import ast
file = open('stub.csv')
reader = csv.reader(file)
temp = list(reader)
del temp[0]
# convert data to numpy array
data = np.array([[ast.literal_eval(j) for j in row] for row in temp])
when I`m using ast.literal_eval(j) I have got exception: 当我使用ast.literal_eval(j)时,我有异常:
SyntaxError: unexpected EOF while parsing
I was tying many things, someone can help me please ? 我绑了很多东西,有人可以帮我吗?
Since you consider your file as a csv, the first value you parse is ["1"
which can't be translated into any python type. 由于您将文件视为csv,因此您解析的第一个值是["1"
,它无法转换为任何python类型。
Then, I tried to solve your problem without consider the file as a csv. 然后,我尝试解决您的问题,而不将文件视为csv。
import numpy as np
import ast
with open('stub.csv') as file:
temp=file.readlines()
# convert data to numpy array
data = np.array([map(int, ast.literal_eval(row)) for row in temp])
You can choose to convert your data to float by replacing int
by float
. 您可以选择通过float
替换int
将数据转换为float
。
Hope this helps. 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.