如何在没有 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])
我有一个包含大约 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])