gpt4 book ai didi

python - 从文本中读取行作为 Python 中的列表

转载 作者:太空宇宙 更新时间:2023-11-04 07:34:20 26 4
gpt4 key购买 nike

我正在从文本文件中读取数据。我的每一行数据都有以下结构

(110, 'Math', 1, 5)
(110, 'Sports', 1, 5)
(110, 'Geography', 4, 10)
(112, 'History', 1, 9)
....

当我从文件中读取数据时,它被解析为字符串。因此,对于所有行,我都在字符串列表中解析数据。但是我想创建一个包含 4 个不同元素(整数和字符串)的列表列表。如何按元素读取文件而不将其解析为字符串?

读取文件的代码如下:

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

最佳答案

假设格式始终如您所述(即对应于 Python 元组语法),这很容易用 ast.literal_eval() 完成。 :

>>> ast.literal_eval("(110, 'Math', 1, 5)")
(110, 'Math', 1, 5)

所以,完整的代码是:

import ast
with open('data.txt') as fp:
data = [ast.literal_eval(line) for line in fp]

关于python - 从文本中读取行作为 Python 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39834839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com