1

我是初学者py。

awk '{print $12}'每次在 Python 脚本的文本文件(类似于 Bash 中)中找到某个单词时,我都需要从一个巨大的平面文本文件中提取第 12 列的内容。

到目前为止,我有(例如,不是真正的代码):

word = a_word
for a_word in data:
   column12 = data.split()
   print(column12[11])

我假设我应该从 0 开始计数,而不是 1,尽管我很可能是不正确的。

另外,for这种代码的循环是否正确?

谢谢!

4

2 回答 2

7

循环打开的文件对象:

with open('somefile') as infile:
    for line in infile:
        print(line.split()[11])

所以,是的,使用for循环并使用基于 0 的索引。

于 2013-08-19T21:47:04.777 回答
1

如果列是带有分隔符(即空格或逗号)分隔值的文本文件,您可能需要查看 python 的 csv 模块:http ://docs.python.org/2/library/csv.html

于 2013-08-20T00:04:44.877 回答