Python 使用字段值从文件中提取行

Python 使用字段值从文件中提取行,python,python-3.x,Python,Python 3.x,我需要根据行中的值从大文件中提取特定行。在下面的示例文件中,我想提取第9个字段等于136的所有行(本例中的第3行) 我尝试了以下代码,但没有成功: outfile = open('example_out.txt', 'w') with open('example_in.txt', 'r') as infile1: for line in infile1: fields = line.split() if fields[8] == 136:

我需要根据行中的值从大文件中提取特定行。在下面的示例文件中,我想提取第9个字段等于136的所有行(本例中的第3行)

我尝试了以下代码,但没有成功:

outfile = open('example_out.txt', 'w')

with open('example_in.txt', 'r') as infile1:
    for line in infile1:
        fields = line.split()
        if fields[8] == 136:
            outfile.write(line)

split
返回字符串列表。如果字段[8]==“136”:请尝试

split
返回字符串列表。如果字段[8]==“136”:
请尝试

“没有成功”发生了什么?没有输出?输出错误?例外?你的电脑坏了吗?
字段[8]
是一个字符串,在python中是“136”!=136“没有成功”发生了什么?没有输出?输出错误?例外?你的电脑坏了吗?
字段[8]
是一个字符串,在python中是“136”!=136
。或者,
如果int(字段[8])==136:
问题是,如果字段[8]不是数字,它会引发异常。但是如果它不是数字,那么它可能是异常,最好不要忽略,和字符串比较一样,我想这取决于你想做什么。有时您可能希望将错误的数字与完全不同的字符串区别对待。或者,
if int(fields[8])==136:
问题是,如果字段[8]不是数字,它将引发异常。但是如果它不是数字,则可能是异常,最好不要被忽略,就像字符串比较一样。我想这取决于你想做什么。有时,您可能希望将错误的数字与完全不同的字符串区别对待。
outfile = open('example_out.txt', 'w')

with open('example_in.txt', 'r') as infile1:
    for line in infile1:
        fields = line.split()
        if fields[8] == 136:
            outfile.write(line)