У меня есть рабочий скрипт, который создает массив каждой строки текста в файле. Эти данные передаются пандам Series()
. Функция startswith("\n")
используется для возврата логического True
или False
для каждой строки, чтобы определить, начинается ли она с \n
(пустая строка).
В настоящее время я использую счетчик i
и условный оператор для итерации и сопоставления позиции, которую возвращает функция startswith()
.
import pandas as pd
import numpy as np
f = open('list-of-strings.txt','r')
lines = []
for line in f.xreadlines():
lines.append(line)
s = pd.Series(lines)
i = 0
for b in s.str.startswith("\n"):
if b == 0:
print s[i],; i += 1
else:
i += 1
Я понял, что смотрю на это с двух разных подходов. Одним из них является непосредственная обработка каждого элемента, как он оценивается функцией startswith()
. Поскольку функция startswith()
возвращает логические значения, можно разрешить прямую обработку данных на основе возвращенных значений. Что-то вроде for each item in startswith(), if value returned is True, index = current_index, print s[index]
.
Помимо возможности печати только строк, которые оцениваются как False
по startswith()
, как бы я мог получить текущее значение ключа из startswith()
?
Ссылки:
https://www.tutorialspoint.com/python_pandas/python_pandas_series.htm
https://www.tutorialspoint.com/python_pandas/python_pandas_working_with_text_data.htm