繁体   English   中英

从文本文件 python 读取

[英]Reading from a text file python

我有一个包含数字矩阵的文本文件:

999 999  10  8
3 4 999 999 999 
6 999 2 7 999
999 6 3 5  6
999 9 1 10 999
10 6 999 2 2 999

我正在尝试读取每一行并将其存储到 Python 中的数组中,但我无法将每个值从string更改为int 我在解析每一行时尝试使用int()但我收到无法将list传递给 int() 参数的错误。

试试看:

matrix = [[int(i) for i in line.split()] for line in open('myfile.txt')]

[编辑] 如果您不希望第一行之前阅读它。

with open('myfile') as f:
    f.readline()
    matrix = ....

使用map()获取listlist

>>> with open('myfile.txt') as matrix:
...     [map(int, line.split()) for line in matrix]
...
[[999, 999, 10, 8], [3, 4, 999, 999, 999], [6, 999, 2, 7, 999], [999, 6, 3, 5, 6], [999, 9, 1, 10, 999], [10, 6, 999, 2, 2, 999]]

对于每一行,按空格字符拆分,然后将每个标记转换为一个 int。 使用列表理解的一种方法是:

s = "999 999 10 8"
[int(t) for t in s.split(" ")]
#evaluates to [999, 999, 10, 8]
nums = []
with open('file.txt') as f:
    for line in f:
        nums.append([int(n) for n in line.split()])

你可以把它写成一个列表理解,但这可能会让人讨厌。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM