Python 奇怪的结果。txt文件到np.array
我试图做一些简单的事情,但由于某些原因我做不到。我一直在网站上寻找相关的答案,但我一直未能完成 所以,我正在尝试将文本文件、csv或rtf导入到np.array,到目前为止我已经得到了 example.cvs是一个包含 881.00882.00Python 奇怪的结果。txt文件到np.array,python,numpy,genfromtxt,Python,Numpy,Genfromtxt,我试图做一些简单的事情,但由于某些原因我做不到。我一直在网站上寻找相关的答案,但我一直未能完成 所以,我正在尝试将文本文件、csv或rtf导入到np.array,到目前为止我已经得到了 example.cvs是一个包含 881.00882.00 883.00884.00 >>> import numpy as np >>> txtdata = np.genfromtxt('example.cvs',usecols=0, dtype='S51',delimite
883.00884.00
>>> import numpy as np
>>> txtdata = np.genfromtxt('example.cvs',usecols=0, dtype='S51',delimiter=',')
>>> txtdata
array(['{\\rtf1\\ansi\\ansicpg1252\\cocoartf1265\\cocoasubrtf190',
'{\\fonttbl\\f0\\fswiss\\fcharset0 Helvetica;}',
'{\\colortbl;\\red255\\green255\\blue255;}',
'\\margl1440\\margr1440\\vieww10800\\viewh8400\\viewkind0',
'\\pard\\tx566\\tx1133\\tx1700\\tx2267\\tx2834\\tx3401\\tx39',
'\\f0\\fs24 \\cf0 881.00', '883.00'],
dtype='|S51')
我不知道为什么会有这些东西,我只想要一个包含这4个数字的数组。2x2矩阵
谢谢显然,您正在读取的是RTF文件,而不是纯文本文件。此外,您的
usecols
和dtype
参数错误
通过显示的CSV文件,您可以执行以下操作:
>>> np.genfromtxt('example.csv', delimiter=',')
array([[ 881., 882.],
[ 883., 884.]])
我应该使用哪种数据类型,并将rtf更改为cvs。我保存的原始文件。TRM有效吗?@tcassanelli如我在答案中所示,默认的
dtype
可以正常工作,您不需要指定它。但是您需要将文件保存为纯文本,这与文件名无关。