如何在没有 pandas 的情况下逐行读取 python 中的文本 (.txt) 文件?

How to read a text(.txt) file in python line by line with delimiters without pandas?

我有一个包含大约 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()

您可以在 numpy 中使用 genfromtxt

例如:

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

注意my_data是一个numpy数组,可以正常indexed/spliced。

您可以使用 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])