简体   繁体   English

解析字符串以浮动python时出现意外的EOF

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM