Joh*_*ohn 14 python file-io list python-3.x
我是一个新的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
Run Code Online (Sandbox Code Playgroud)
但可能是更少或更多的线.
我想将每行导入为列表.
我知道你可以这样做:
filename = 'MyFile.txt'
fin=open(filename,'r')
L1list = fin.readline()
L2list = fin.readline()
L3list = fin.readline()
Run Code Online (Sandbox Code Playgroud)
但由于我不知道我将拥有多少行,是否有另一种方法来创建个别列表?
Mar*_*ers 26
不要创建单独的列表; 创建一个列表列表:
results = []
with open('inputfile.txt') as inputfile:
for line in inputfile:
results.append(line.strip().split(','))
Run Code Online (Sandbox Code Playgroud)
或者更好的是,使用csv模块:
import csv
results = []
with open('inputfile.txt', newline='') as inputfile:
for row in csv.reader(inputfile):
results.append(row)
Run Code Online (Sandbox Code Playgroud)
列表或词典是远程优化的结构,用于跟踪从文件中读取的任意数量的内容.
请注意,任何一个循环都可以让您单独处理数据行,而不必将文件的所有内容都读入内存; 而不是results.append()只使用那条线就在那里.
为了完整起见,这里是单行压缩版本,可以一次性将CSV文件读入列表中:
import csv
with open('inputfile.txt', newline='') as inputfile:
results = list(csv.reader(inputfile))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
151806 次 |
| 最近记录: |