Как читать текстовый (.txt) файл в python построчно с разделителями без pandas? - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть текстовый файл с примерно 2113 строками, в котором данные хранятся в формате string:integer, и мне нужно хранить как строку, так и целые числа в виде массива в переменных status и next_move. Я сделал это с помощью pandas, но я хочу найти способ сделать это без использования pandas.

Файл данных выглядит следующим образом:

.....
OOXXX O X:5
OOXXX OX :5
OOXXXO  X:6
OOXXXO X :6
OOXXXOOXX:None
OOXXO  XX:5
OOXXO X X:7
OOXXO XX :8
OOXXOX X :8
OOXXOXX  :7
....

Код, который я использовал с pandas, таков:

  df = pd.read_csv("Dataset.txt", sep=":", names=['strings', 'moves'])
    a = df[['strings']]
    b = df[['moves']]
    status = a.to_numpy()
    next_move = b.to_numpy()
    status = status.flatten()
    next_move = next_move.flatten()

Ответы [ 2 ]

1 голос
/ 01 апреля 2020

Вы можете использовать библиотеку CSV.

status = []
next_move = []
with open("Dataset.txt") as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=":")
    for row in csv_reader:
        status.append(row[0])
        next_move.append(row[1])




0 голосов
/ 01 апреля 2020

Вы можете использовать genfromtxt в numpy.

Примером может быть:

from numpy import genfromtxt
my_data = genfromtxt("Dataset.txt", delimiter=";")

Обратите внимание, что my_data является массивом numpy и может быть проиндексирован / сращен как обычно.

...