【问题标题】:How to read a text(.txt) file in python line by line with delimiters without pandas?如何在没有熊猫的情况下使用分隔符逐行读取python中的文本(.txt)文件?
【发布时间】:2020-04-01 19:14:46
【问题描述】:

我有一个包含大约 2113 行的文本文件,其中数据以 string:integer 的格式存储,我需要将字符串和整数作为数组存储在变量 statusnext_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()

【问题讨论】:

    标签: python text-files file-handling data-extraction


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      你可以在 numpy 中使用genfromtxt

      所以一个例子是:

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

      注意my_data是一个numpy数组,可以正常索引/拼接。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-02
        • 2021-10-11
        • 1970-01-01
        • 1970-01-01
        • 2014-08-27
        相关资源
        最近更新 更多