2016-11-10 89 views
1

我试图从CSV文件读取数据包含字符串矩阵 [“1”,“2”,“1”,“3”,“45”,“65” ] 我想改变它浮动或int准备我的数据使用tensorflow意外的EOF,同时解析字符串来浮动python

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]) 

当我真的使用ast.literal_eval(J)我有例外:

SyntaxError: unexpected EOF while parsing 

我捆绑很多东西,有人可以帮助我吗?

+0

为什么不使用'np.loadtxt' –

回答

0

既然你认为你的文件是csv,你解析的第一个值是["1",它不能被翻译成任何python类型。

然后,我试图解决您的问题,而不考虑文件作为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]) 

您可以选择将数据转由float更换int浮动。

希望这会有所帮助。