Python 如何从二维数组中删除引号
在那里。我正在尝试删除以下输出中的引号Python 如何从二维数组中删除引号,python,arrays,file,2d,quotation-marks,Python,Arrays,File,2d,Quotation Marks,在那里。我正在尝试删除以下输出中的引号 [['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 p
[['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.]]
它是浮动的,但我认为它也会起作用
>>>type(numpy.genfromtxt('test.txt',delimiter=',')[0][0])
<class 'numpy.float64'>
>>类型(numpy.genfromtxt('test.txt',分隔符=',')[0][0])
line.strip(“\n”).split(“,”)返回字符串列表,因此您创建的是字符串数组,而不是整数数组。在创建数组之前将它们转换为整数
lines = [list(map(int, line.strip("\n").split(","))) for line in file]
引号不在数据中,之所以显示引号,是因为数组元素是字符串。创建数组时将它们转换为数字。@Barmar否,元素是整数,但当将它们转换为二维数组时,元素也转换为字符串否,它们不是
line.strip(“\n”).split(“,”)
返回字符串列表,而不是整数。否,需要在拆分后对元素调用int()
。请参阅我的答案。另请参阅如何将CSV直接读取到numpy数组中。如果我将文件作为file=open(“cayard.txt”,“r”)输入,我会收到一个错误,即lines.append(int(line))ValueError:int()的文本无效,基数为10:','尽管有一个错误,我还是尝试了:索引器:数组的索引太多:数组是一维的,但是2个被索引了。尝试调用list()
added。啊,成功了。谢谢