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。啊,成功了。谢谢