【问题标题】:Creating a 2D array from a one line txt file in Python在 Python 中从单行 txt 文件创建二维数组
【发布时间】:2021-01-14 19:06:35
【问题描述】:

我正在尝试将单行文本文件读入 python 中的数组,但实际上我正在努力将文件转换为二维数组。这是文本文件:

6 4 0 0 1 0 0 0 2 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 3 0

第一个数字 (6) 代表列,第二个数字 (4) 代表行。这是我到目前为止的代码:

maze_1d_arr = open(sys.argv[1], 'r')

    maze = []

    maze_split = np.array([maze_1d_arr])

    size_X = len(maze_split)
    size_Y = len(maze_split[0])

    maze_grid = [int(x) for x in maze_split[2:]]

    maze = np.array(maze_grid).reshape(size_X, size_Y)

    start = np.where(maze_split == 2)
    end = np.where(maze_split == 3)

    path = astar(maze, start, end)
    print(path)

很抱歉,如果之前有人问过这个问题,但我不知道如何让它发挥作用。任何帮助将不胜感激!

【问题讨论】:

    标签: python arrays


    【解决方案1】:
    import numpy as np
    
    x = np.array([6, 4, 0, 0, 1, 0, 0, 0, 2, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0])
    
    print(x[2:].reshape(x[[1,0]]))
    
    [[0 0 1 0 0 0]
     [2 0 1 0 1 1]
     [0 0 1 0 0 0]
     [0 0 0 0 3 0]]
    

    【讨论】:

    • 我需要它,以便代码本身读取文件,如果我不清楚,对不起
    猜你喜欢
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多