如何在python中逐行读取带有分隔符的文本(.txt)文件而不使用熊猫?

如何在python中逐行读取带有分隔符的文本(.txt)文件而不使用熊猫?,python,text-files,file-handling,data-extraction,Python,Text Files,File Handling,Data Extraction,我有一个大约2113行的文本文件,其中数据以string:integer格式存储,我需要将字符串和整数作为数组存储在变量status和next\u move中。我用熊猫做过,但我想找到一种不用熊猫的方法 数据文件如下所示: ..... 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 .... 我对熊

我有一个大约2113行的文本文件,其中数据以
string:integer
格式存储,我需要将字符串和整数作为数组存储在变量
status
next\u move
中。我用熊猫做过,但我想找到一种不用熊猫的方法

数据文件如下所示:

.....
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
....
我对熊猫使用的代码如下:

  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_数据是一个numpy数组,可以正常索引/拼接

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