python - 导入 txt 文件并将每一行作为列表

标签 python list python-3.x file-io

我是 Python 新用户。

我有一个类似这样的 txt 文件:

3,1,3,2,3
3,2,2,3,2
2,1,3,3,2,2
1,2,2,3,3,1
3,2,1,2,2,3

但可能更少或更多行。

我想将每一行导入为一个列表。

我知道你可以这样做:

filename = 'MyFile.txt' 
fin=open(filename,'r')
L1list = fin.readline()
L2list = fin.readline()
L3list = fin.readline()

但由于我不知道我会有多少行,是否有另一种方法来创建单独的列表?

最佳答案

不要创建单独的列表;创建列表列表:

results = []
with open('inputfile.txt') as inputfile:
    for line in inputfile:
        results.append(line.strip().split(','))

或者更好的是,使用 csv module :

import csv

results = []
with open('inputfile.txt', newline='') as inputfile:
    for row in csv.reader(inputfile):
        results.append(row)

列表或字典是的高级结构,可以跟踪从文件中读取的任意数量的内容。

请注意,任一循环还允许您单独寻址数据行,而无需将文件的所有内容读入内存;而不是使用 results.append() 就在那里处理那一行。

为了完整起见,这里是一次性将 CSV 文件读入列表的单行压缩版本:

import csv

with open('inputfile.txt', newline='') as inputfile:
    results = list(csv.reader(inputfile))

关于python - 导入 txt 文件并将每一行作为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18448847/

相关文章:

python - 我该如何着手只打印大写锁定的名字的第一个字母以及以下内容?

python - smtplib 使用 Office 365 的正确凭据超时

python - 如何获取 facebook-sdk 的 oauth_access_token

java - 获取 HashMap 中所有元素的最佳方法是什么?

r - Pander+Knitr : Error when using pander. 列表问题

python - 将列表列表中的元素分组到嵌套字典中

python-3.x - 自更改以来高效的 p​​andas/numpy 函数

Python Validictory(JSON 模式验证): How to OR multiple schemas?

python - 如何创建全局运动模糊参数并进行全局控制?

Python 如何扩展列表,就好像我是第一次添加这些项目一样