首页 > 解决方案 > 如何在没有标题的情况下读取“.dat 文件”中的特定列,然后存储在列表中以转换赤经和赤纬

问题描述

这是.dat我在 sublime 编辑器中打开文件时的样子。如何在没有标题的情况下读取该“.dat 文件”中的特定列,然后将这些列值以逗号分隔存储在列表中?

   01 04 16 57 15 30 00 119.8 -24.5 38.5
   02 04 20 03 17 25 00 112.2 -29.1 38.4
   03 04 25 42 19 04 00 113.5 -37.2 38.6
   04 05 00 06 21 31 00  70.6 -41.4 42.2
   05 02 55 13 20 28 00 248.8 -29.8 28.5
   06 03 50 18 17 10 00 148.5 -29.8 35.0
   07 04 31 00 14 44 00 106.4 -26.1 37.5
   08 04 48 27 18 45 00  84.3 -34.5 38.5
   09 04 15 25 21 27 00 101.4 -36.6 35.4
   10 04 23 19 22 42 00 116.2 -45.8 35.1
   11 04 26 02 12 56 00 107.4 -15.6 33.4
   12 03 56 56 10 11 00 141.9  -6.2 39.6
   13 04 12 56 15 16 00 117.4 -24.5 36.9
   14 04 17 09 13 54 00 121.6 -18.2 42.0
   15 04 17 46 14 58 00 113.1 -20.2 36.2
   16 04 18 04 13 44 00 109.2 -20.7 37.0
   17 04 21 13 17 19 00 113.4 -31.8 37.5
   18 04 22 02 18 55 00 112.5 -34.5 36.6
   19 04 22 23 22 10 00 113.5 -40.7 40.1
   20 04 22 26 22 05 00 119.7 -44.2 32.0
   21 04 22 36 17 48 00 115.8 -36.4 34.7
   22 04 22 46 15 49 00 105.0 -25.3 36.4
   23 04 25 02 21 30 00 105.9 -41.3 36.2
   24 04 25 43 15 51 00 109.6 -29.3 40.0
   25 04 25 48 15 45 00 111.7 -25.5 39.5
   26 04 27 42 16 05 00 109.2 -23.9 37.5
   27 04 27 48 15 35 00 107.2 -24.7 39.3
   28 04 27 48 13 37 00 113.5 -19.3 38.8
   29 04 29 00 15 44 00 107.5 -29.5 36.0
   30 04 34 41 15 02 00 109.5 -29.2 40.2
   31 04 35 17 15 56 00  93.4 -28.6 38.4
   32 04 35 51 23 03 00 111.3 -57.8 40.0
   33 04 41 39 11 03 00  98.4 -11.9 39.4
   34 04 56 52 15 50 00  87.6 -32.2 44.1

稍后,我想使用这个列表将赤经和赤纬分别从hourminutes、和 等等...转换为进一步计算。secondsdegree minutesdegree decimals

我一直在通过在线帮助以不同的方式苦苦挣扎,但我无法继续前进。
任何帮助,将不胜感激。我完全是初学者。

标签: pythonparallaxastronomyhexdump

解决方案


使用 pandas read_csv,但将分隔符指定为空格。然后指定列名。请参阅下面的样机:

import csv
df = pd.read_csv("file.dat", delim_whitespace=True, names=['a','b','c','d','e','f','g','h','i','j'], )
df

结果如下:

在此处输入图像描述


推荐阅读