gpt4 book ai didi

python - 使用 python 从 .txt 文件检索数据?

转载 作者:太空宇宙 更新时间:2023-11-03 19:01:37 24 4
gpt4 key购买 nike

在下面您可以看到 ephemeris.txt 文件中的数据。现在我想检索几列(例如以 00:00、27.69 和 44.1 开头的列)并将数组命名为 x,y,z。我必须做什么?

我试过了

x, y, z = numpy.loadtxt("ephemeris.txt", unpack=True)

这会出现此错误

"ValueError: could not convert string to float: Date__(UT)__HR:MN"

您能帮我将 HR:MN 转换为分钟吗?

Date__(UT)__HR:MN     R.A.__(a-apparent)__DEC\
**********************************************\
2013-Jan-01 00:00 * 14 31 27.69 -12 29 44.1\
2013-Jan-01 00:01 * 14 31 27.71 -12 29 44.1\
2013-Jan-01 00:02 * 14 31 27.72 -12 29 44.2\
2013-Jan-01 00:03 * 14 31 27.73 -12 29 44.2\
2013-Jan-01 00:04 * 14 31 27.75 -12 29 44.3\
2013-Jan-01 00:05 * 14 31 27.76 -12 29 44.3\
2013-Jan-01 00:06 * 14 31 27.77 -12 29 44.4\
2013-Jan-01 00:07 * 14 31 27.78 -12 29 44.4\
2013-Jan-01 00:08 * 14 31 27.80 -12 29 44.4\
2013-Jan-01 00:09 * 14 31 27.81 -12 29 44.5\

提前致谢

最佳答案

您可以使用 loadtxt 函数的更多参数。

您遇到的错误很可能是由前两个标题行引起的,因此请使用 skiprows=2 参数跳过它们;

此外,每行包含不同格式的数据,并用空格分隔。使用 delimiter=' ' 以防万一,您可以在 dtype=stringdtype=object 之间进行选择。

a = numpy.loadtxt("ephemeris.txt", delimiter=' ', dtype=string, skiprows=2)

这应该为您提供一个数组,您可以在其中执行多种“转换”:每列拆分一个数组,创建行列表等。

x,y,z,etc = numpy.hsplit(a, a.shape[1])
x = x.astype(datetime)

# or
x = a[:,0].astype(datetime)
y = a[:,1].astype(some_type)

或者类似的东西......

希望这对您有所帮助,如果需要,请在评论中详细说明。

关于python - 使用 python 从 .txt 文件检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15910322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com