duc*_*cin 0 python file-io list-comprehension
是否可以让python只从文件中读取选定的行?
比方说,我有一个CSV文件,文件被分开tab和第三列要么是“A”,“B”或“C”。我想要一个列表理解(或生成器,无关紧要)它只会返回文件中选择第一列的那些行
下面抛出一个语法错误:
lines = [tmp = line.rstrip().split(separator_column) for line in source if tmp[2] == 'a']
Run Code Online (Sandbox Code Playgroud)
是否有可能以比 for 循环更 Pythonic 的方式来完成?所谓的更多 Pythonic 方法正在以 C 的速度工作——它们比基本的 Python 指令更快——这就是我问的原因。
使用csv模块:
import csv
with open("your/file.csv", ...) as source:
reader = csv.reader(source, delimiter='\t')
selection = [row for row in reader if row[2] == 'a']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1745 次 |
| 最近记录: |