问题描述
[['40' '40']
['10' '10']
['200' '200']
['230' '231']
['40' '43 ']
['15' '45 ']
['220' '190']]
我想要以下输出:
[[40 40]
[10 10]
[....]]
这是我的代码。我已经尝试了一段时间,但无法弄清楚。如果有人可以提供帮助,将不胜感激。
import numpy as np
import matplotlib.pyplot as plt
def extract_file(file_name):
file = open(file_name,'r')
lines = ([line.strip("\n").split(",") for line in file])
x= np.array(lines)
return x
t= extract_file("backyard.txt")
解决方法
@Barmar
评论,np.genfromtxt
可以使用
import numpy as np
import matplotlib.pyplot as plt
def extract_file():
return np.genfromtxt('test.txt',delimiter=',')
print(extract_file())
输出:
[[ 40. 40.]
[ 10. 10.]
[200. 200.]
[230. 231.]
[ 40. 43.]
[ 15. 45.]
[220. 190.]]
Its,Float ,但我认为它会起作用,
>>>type(numpy.genfromtxt('test.txt',')[0][0])
<class 'numpy.float64'>
,
line.strip("\n").split(",")
返回一个字符串列表,因此您创建的是一个字符串数组,而不是整数。在创建数组之前将它们转换为整数。
lines = [list(map(int,line.strip("\n").split(","))) for line in file]