使用python将文件文本的一部分读取到pandas数据框中

问题描述 投票:-1回答:1

例如,我具有以下格式的数据文本:

HEADER NODE DATA, AIR
            -10000,    15.,    -1.0
HEADER CONDUCTOR DATA, AIR
            1,    AIR.10000,    S25D.1,    56.84441         $ AIR CONV
            2,    AIR.10000,    S25D.2,    56.45712         $ AIR CONV
            3,    AIR.10000,    S25D.3,    53.35623         $ AIR CONV
            4,    AIR.10000,    S25D.4,    45.09633         $ AIR CONV
            5,    AIR.10000,    S25D.9,    77.00067         $ AIR CONV
            6,    AIR.10000,    S25D.10,    80.35013         $ AIR CONV
            7,    AIR.10000,    S25D.11,    50.4933         $ AIR CONV
            8,    AIR.10000,    S25D.12,    91.61026         $ AIR CONV
            9,    AIR.10000,    S25D.13,    53.75025         $ AIR CONV
            10,    AIR.10000,    S25D.14,    75.68577         $ AIR CONV
            11,    AIR.10000,    S25D.15,    110.0111         $ AIR CONV
            12,    AIR.10000,    S25D.16,    114.7913         $ AIR CONV
            13,    AIR.10000,    S25D.17,    81.12207         $ AIR CONV
            14,    AIR.10000,    S25D.18,    72.80061         $ AIR CONV
            15,    AIR.10000,    S25D.19,    72.21327         $ AIR CONV
            16,    AIR.10000,    S25D.20,    90.99183         $ AIR CONV
            17,    AIR.10000,    S25D.21,    66.35648         $ AIR CONV
            18,    AIR.10000,    S25D.22,    76.9787         $ AIR CONV
            19,    AIR.10000,    S25D.23,    52.46601         $ AIR CONV
            20,    AIR.10000,    S25D.24,    68.30105         $ AIR CONV
            21,    AIR.10000,    S25D.25,    114.0903         $ AIR CONV
            22,    AIR.10000,    S25D.26,    70.51425         $ AIR CONV
            23,    AIR.10000,    S25D.27,    36.39104         $ AIR CONV
            24,    AIR.10000,    S25D.28,    78.88668         $ AIR CONV
            25,    AIR.10000,    S25D.29,    70.77477         $ AIR CONV
            26,    AIR.10000,    S25D.30,    87.04871         $ AIR CONV
            27,    AIR.10000,    S25D.31,    64.50918         $ AIR CONV
            28,    AIR.10000,    S25D.32,    76.20373         $ AIR CONV
            29,    AIR.10000,    S25D.33,    90.69899         $ AIR CONV
            30,    AIR.10000,    S25D.34,    83.89708         $ AIR CONV
            31,    AIR.10000,    S25D.35,    88.59924         $ AIR CONV
            32,    AIR.10000,    S25D.36,    72.06826         $ AIR CONV
            33,    AIR.10000,    S25D.65,    157.6095         $ AIR CONV
            34,    AIR.10000,    S25D.66,    140.3513         $ AIR CONV
            35,    AIR.10000,    S25D.67,    215.1395         $ AIR CONV
            36,    AIR.10000,    S25D.68,    131.7191         $ AIR CONV
            37,    AIR.10000,    S25D.69,    173.7129         $ AIR CONV
            38,    AIR.10000,    S25D.70,    106.8654         $ AIR CONV
            39,    AIR.10000,    S25D.71,    153.2247         $ AIR CONV
            40,    AIR.10000,    S25D.72,    151.2406         $ AIR CONV
            41,    AIR.10000,    S25D.73,    136.0113         $ AIR CONV
            42,    AIR.10000,    S25D.74,    217.2005         $ AIR CONV
            43,    AIR.10000,    S25D.75,    121.0298         $ AIR CONV
            44,    AIR.10000,    S25D.76,    178.8008         $ AIR CONV
            45,    AIR.10000,    S25D.77,    160.7517         $ AIR CONV
            46,    AIR.10000,    S25D.78,    132.528         $ AIR CONV
            47,    AIR.10000,    S25D.79,    126.503         $ AIR CONV
            48,    AIR.10000,    S25D.80,    223.1756         $ AIR CONV
            49,    AIR.10000,    S25D.81,    151.6868         $ AIR CONV
            50,    AIR.10000,    S25D.82,    176.8964         $ AIR CONV
            51,    AIR.10000,    S25D.83,    155.6967         $ AIR CONV
            52,    AIR.10000,    S25D.84,    153.6341         $ AIR CONV
            53,    AIR.10000,    S25D.85,    110.9477         $ AIR CONV
            54,    AIR.10000,    S25D.86,    165.114         $ AIR CONV
            55,    AIR.10000,    S25D.87,    139.9079         $ AIR CONV
            56,    AIR.10000,    S25D.88,    137.9431         $ AIR CONV
            57,    AIR.10000,    S25D.89,    138.1562         $ AIR CONV
            58,    AIR.10000,    S25D.90,    204.7094         $ AIR CONV
            59,    AIR.10000,    S25D.91,    159.8541         $ AIR CONV
            60,    AIR.10000,    S25D.92,    174.5026         $ AIR CONV
            61,    AIR.10000,    S25D.93,    160.5398         $ AIR CONV
            62,    AIR.10000,    S25D.94,    143.0478         $ AIR CONV
            63,    AIR.10000,    S25D.95,    175.8055         $ AIR CONV
            64,    AIR.10000,    S25D.96,    99.97353         $ AIR CONV
            65,    AIR.10000,    S25D.97,    119.0528         $ AIR CONV
            66,    AIR.10000,    S25D.98,    147.533         $ AIR CONV
            67,    AIR.10000,    S25D.99,    122.7583         $ AIR CONV
            68,    AIR.10000,    S25D.100,    191.2955         $ AIR CONV
            69,    AIR.10000,    S25D.101,    197.3013         $ AIR CONV
            70,    AIR.10000,    S25D.102,    173.0556         $ AIR CONV
            71,    AIR.10000,    S25D.103,    193.2726         $ AIR CONV
            72,    AIR.10000,    S25D.104,    128.1502         $ AIR CONV
            73,    AIR.10000,    S25D.105,    102.519         $ AIR CONV
            74,    AIR.10000,    S25D.106,    180.8979         $ AIR CONV
            75,    AIR.10000,    S25D.107,    160.9948         $ AIR CONV
            76,    AIR.10000,    S25D.108,    197.6314         $ AIR CONV
            77,    AIR.10000,    S25D.109,    162.5766         $ AIR CONV
            78,    AIR.10000,    S25D.110,    143.3984         $ AIR CONV
            79,    AIR.10000,    S25D.111,    265.7273         $ AIR CONV
            80,    AIR.10000,    S25D.112,    90.36677         $ AIR CONV
            81,    AIR.10000,    S25D.113,    146.033         $ AIR CONV
            82,    AIR.10000,    S25D.114,    182.0126         $ AIR CONV
            83,    AIR.10000,    S25D.115,    142.1242         $ AIR CONV
            84,    AIR.10000,    S25D.116,    156.4711         $ AIR CONV
            85,    AIR.10000,    S25D.117,    263.3278         $ AIR CONV
            86,    AIR.10000,    S25D.118,    133.7923         $ AIR CONV
            87,    AIR.10000,    S25D.119,    134.4939         $ AIR CONV
            88,    AIR.10000,    S25D.120,    87.09295         $ AIR CONV
            89,    AIR.10000,    S25D.121,    168.8858         $ AIR CONV
            90,    AIR.10000,    S25D.122,    133.792         $ AIR CONV
            91,    AIR.10000,    S25D.123,    194.2227         $ AIR CONV
            92,    AIR.10000,    S25D.124,    116.8372         $ AIR CONV
            93,    AIR.10000,    S25D.125,    125.5161         $ AIR CONV
            94,    AIR.10000,    S25D.126,    54.22872         $ AIR CONV

而且我想将其读入熊猫数据框中以作进一步分析。如您所见,每个子集的标题和数据格式都不同。我曾想过使用re module和pandas将数据读入框架,但不知道如何以最有效的方式进行操作。您还可以看到,两个标头都使用AIR字符串。在完整的文件中,会有更多这样的字符串,因此我想为每个字符串创建一个这样的类,该类的属性(节点,导体)将是带有相应数据的pd数据帧。

任何帮助将不胜感激:)

python regex pandas file-read
1个回答
0
投票
您可以尝试以下方法:
© www.soinside.com 2019 - 2024. All rights reserved.