我使用以下内容来读取制表符分隔文件.文件中有三列,但是当我打印列标题时,第一列被忽略.我也可以包含第一列
f = open("/tmp/data.txt")
for l in f.readlines():
print l.strip().split("\t")
break
f.close()
Run Code Online (Sandbox Code Playgroud)
输出:['session_id\t','\ tevent_id_concat']
第一列名称是id不在上面的数组中打印的位置
EDIT
print l产生以下结果
编辑1:
'id\tsession_id\tevent_id_concat\r\n'
Output: ['id\t', '\tevent_id_concat']
Run Code Online (Sandbox Code Playgroud)
wag*_*eer 16
我还建议使用csv模块.它易于使用,并且如果您想要在表格中读取类似CSV格式(选项卡/空格/其他分隔的内容)的结构,则最适合.
该模块文档提供了其中最简单的用法据称是很好的例子:
import csv
with open('/tmp/data.txt', 'r') as f:
reader = csv.reader(f)
for row in reader:
print row
Run Code Online (Sandbox Code Playgroud)
如果要进行基于索引的操作,每行都是一个非常有用的列表.
如果你想更改分隔符,有一个关键字,但我通常可以使用预定义的方言,也可以通过关键字定义.
import csv
with open('/tmp/data.txt', 'r') as f:
reader = csv.reader(f, dialect='excel', delimiter='\t')
for row in reader:
print row
Run Code Online (Sandbox Code Playgroud)
我不确定这是否能解决您的问题,但使用精心设计的模块将确保您的文件出现问题,而不是您的代码,如果错误仍然存在.
它应该工作,但最好使用'with':
with open('/tmp/data.txt') as f:
for l in f:
print l.strip().split("\t")
Run Code Online (Sandbox Code Playgroud)
如果没有那么可能你的文件没有所需的格式.