Python 仅将所有拆分行中的一个字符串写入文件
我有一个大约80000行的文本文件。我正在尝试执行以下步骤:-Python 仅将所有拆分行中的一个字符串写入文件,python,python-2.7,Python,Python 2.7,我有一个大约80000行的文本文件。我正在尝试执行以下步骤:- 我试图根据它的第一个字符来寻找线条。我能做到 现在我只剩下7500行了 我正在拆分行并显示其line.split()[-2]字符串 我想将这些字符串写入一个文本文件,但我遇到了困难 下面是我的代码,谁能找出我做错了什么 f4 = open("lines.txt") #subroutine to find out number of intervals for i in range(header_lines): for
line.split()[-2]
字符串f4 = open("lines.txt") #subroutine to find out number of intervals
for i in range(header_lines):
for line in f4:
with open("satsid.txt","w") as f5:
if line.startswith(" 12"):
print line.split()[-2]
f5.write('line.split()[-2]')
numints = numints+1;
if not line:
break
忽略
header\u行上的循环
以下内容将复制您的代码,而无需每次重新打开f5
文件(每次重新打开时都会清除该文件):
如果该行以'12'
开头(空格,然后是1,然后是2),则会将该行的最后一个元素写入f5
。我在输出文件中的这些值之间添加了一条换行符
如果需要跳过f4
中的多行(例如存储在标题行中的数字),请使用以下命令限制循环:
from itertools import islice
with open("lines.txt") as f4, open("satsid.txt","w") as f5:
for line in islice(f4, header_lines, None):
if line.startswith(" 12"):
f5.write(line.split()[-2] + '\n')
islice()
将跳过header\u行
行,然后遍历文件的其余部分直到结束。范围内i(header\u行)的循环应该实现什么?如果不重新打开或倒带到开头,您无法重复读取f4
,但我从不在循环中使用I
,因此我怀疑它在这里是完全多余的。1)我正在完全打开文件,在头行之后读取它(假设是15,我正在从第16行读取文件)非常感谢。谢谢你的回答。
from itertools import islice
with open("lines.txt") as f4, open("satsid.txt","w") as f5:
for line in islice(f4, header_lines, None):
if line.startswith(" 12"):
f5.write(line.split()[-2] + '\n')