【问题标题】:How can I read a text file that contains lists and add those lists to a list?如何读取包含列表的文本文件并将这些列表添加到列表中?
【发布时间】:2015-09-24 21:54:22
【问题描述】:

我正在使用一个程序来保存一些产品并根据它们的价格将其排列到一个文本文件中。 生成的文本文件是这样的

['Kingstom', 0.92, 'china']
['sony', 16.88, 'USA']

但我需要加入一个“加载”选项,用户可以在其中上传文本文件以添加更多产品并生成另一个排列数据的文本文件。

我用过

data = [line.strip() for line in open('test.txt', 'r')]

但它给了我这个

["['Kingstom', 0.92, 'china']", "['sony', 16.88, 'USA']"]

但我需要一个这样的列表来更好地管理数据

[['Kingstom', 0,92, 'china'], ['Sony', 16.88, 'USA']]

所以 data[0] 将是 ['Kingstom', 0,92, 'china'] 等等。

【问题讨论】:

  • ast.literal_eval 是您最好的选择。
  • 我不会使用方括号将其保存在文件中,而只是使用逗号分隔的值,就像在 csv 中一样。你能改变文件的格式吗?
  • 如果可能,您应该使用json 格式。

标签: python list text-files


【解决方案1】:

这听起来像是 ast.literal_eval 的工作

import ast
[ast.literal_eval(x) for x in open("test.txt")]

但更好的解决方案可能是以更常见的格式(即 csv、json、xml 等)保存数据并使用适用的解码器

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 2020-08-09
    相关资源
    最近更新 更多