отделение данных от текстового файла с помощью панд - PullRequest
0 голосов
/ 09 июля 2019

У меня есть данные в текстовом файле, и мне нужно отделить данные. Извиняюсь, но я действительно нахожу это трудным (и возможно трудно объяснить также). ниже приведены несколько верхних строк txt-файла (всего 1000 строк). Мне нужны все данные между первым * в строке 0 и последним * в строке 700. Я не хочу выбирать по номеру строки, так как числа могут измениться, но я хочу код, который будет выбирать данные между *. Во-вторых, данные НЕ разделены на столбцы, и это одна большая строка. Мне нужен второй фрагмент кода, который может разделить данные на столбцы, т.е. последние отчеты, дата расчета, индексный код являются столбцами (я не могу разделить пространство, потому что он разбивает вычисление и дату на отдельные столбцы, когда они должны быть одним столбцом.) кто-нибудь, помогите мне и спасибо!

                                                     0
0                                                    *
1    #124 Latter REPORT                      D51D   ...
2    #  1 Calculation Date                  calc_da...
3    #  2 Index Code                        modes2_in...
4    #  3 Index Name                        index_n...
120  #120 5 Years ADPS Growth Rate          5_years...
121  #121 1 Year ADPS Growth Rate           1_year_...
122  #122 Payout Ratio                      payout_...
123  #123 Reserved 26                       reserve...
124  #124 Reserved 27                       reserve...
125                                                  *

1 Ответ

0 голосов
/ 09 июля 2019

Предполагая, что фрейм данных называется dat, для первой части, чтобы найти звездочки:

asterisk_location = dat[0] == '*'

asterisk_location = asterisk_location[asterisk_location]

start, finish = asterisk_location.index

dat = dat.iloc[start+1:finish]

Это также предполагает, что вы хотите получить область между первыми двумя звездочками. Если есть больше, вам придется немного отрегулировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...