我有一个.txt
文件要用pyhon
读取。文件是array
。它包含彗星的数据。我从3000行中复制了3行。你知道吗
P/2011 U1 PANSTARRS 1.54 0.5 14.21 145.294 352.628 6098.07
P/2011 VJ5 Lemmon 4.12 0.5 2.45 139.978 315.127 5904.20 *
149P/Mueller 4 3.67 0.1 5.32 85.280 27.963 6064.72
我正在使用以下代码读取数组:
import numpy as np
list_comet = np.genfromtxt('jfc_master.txt', dtype=None)
我面临两个不同的问题:
首先,在row 1
彗星的名字是:P/2011 U1 PANSTARRS
。如果我键入:
list_comet[0][1]
结果将是P/2011
。我应该如何告诉python如何读取每个彗星的名称?请注意,最长的名称是31个字符。那么是什么命令告诉python column 1
是31 characters
长的呢?你知道吗
秒,在row 2
中,最后一列的值是*
。当我读取文件时,我收到一个错误,上面说:
Line #2941 (got 41 columns instead of 40)
(请注意,以上数据不是完整的数据,我的原始数据中的列总数是38)。我想我收到这个错误是因为在某些行中发现了*
。我怎样才能解决这个问题?你知道吗
你没有提到你要找的是什么样的数据结构,也就是说,你打算对解析后的数据执行什么操作。在最简单的情况下,您可以将文件转换为一个8元组列表—最后一个元素是'*'或空字符串。这很简单
公平地说,这并不是使
tokens
成为一个8元组的列表,而是一个列表生成器(更节省空间),每个列表都有8个元素。你知道吗相关问题 更多 >
编程相关推荐