Python 使用字段值从文件中提取行
我需要根据行中的值从大文件中提取特定行。在下面的示例文件中,我想提取第9个字段等于136的所有行(本例中的第3行) 我尝试了以下代码,但没有成功: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:
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)