我是 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/