python从txt文件读取格式化数据的快速方法

时间:2019-02-23 08:49:47

标签: python

我正在尝试找到一种从文本文件读取数组的最佳方法,该文件的格式为:

“ filename.txt”

points = [
    [2.0, 0.0],
    [3.0, 2.0],
    [2.5, 2.0],
    [0.0, 1.5],
    [0.0, 0.0]
]

我知道如何使用readline逐行分隔数据,但是还有更简单的方法吗?

3 个答案:

答案 0 :(得分:2)

如果您从文件中删除'points =',您将获得一个可以使用json.load()加载的数据结构

import json

with open("my_file_after_cleanup.json", "r") as read_file:
    data = json.load(read_file)

答案 1 :(得分:1)

如果它确实是python语法,请将其重命名为data.py并导入(或使用importlib)。 对数据文件直接使用python语法是python的强大功能之一。

答案 2 :(得分:0)

import ast

with open('filename.txt', 'r') as f:
    data = f.read()
    data = data[data.find('=') + 1:]
    for remove_chr in ('\n', '\t', ' '):
        data = data.replace(remove_chr, '')
points = ast.literal_eval(data)
print(type(points).__name__, points)

输出:

list [[2.0, 0.0], [3.0, 2.0], [2.5, 2.0], [0.0, 1.5], [0.0, 0.0]]