我有一个包含EPA信息的文本文件,它们由州编码。我想将每个状态分解为自己的文本文件。以下是我正在使用的代码:
from __future__ import print_function
import os, sys
import numpy as np
print(os.getcwd())
lines = [] #lines from file
with open('UCMR3_All.txt') as well_list:
for line in well_list:
if line == "AL":
#what goes here?
well_list_output = open(os.path.join('..','well_list_output.txt'),'w')
for line in lines:
well_list_output.write(line)
well_list_output.close()
基本上,我想采取包含" AL"并将其输出到自己的文件。我试图使用lines.append(line)
,但这似乎没有帮助。我当然会接受有用的推动或指导来代替答案!
答案 0 :(得分:0)
with open('UCMR3_All.txt') as well_list:
for line in well_list.read().split('\n':
if "AL" in line:
lines.append(line)
稍后您可以将lines
var写入文件。
基本上,well_list是一个文件对象。它不是一个字符串,当然也不是一个列表。如果要将文件内容读入字符串,只需使用read()
方法。
阅读完文件后,您可以使用split('\n')
将其拆分为行。
现在剩下的就是遍历该列表并将好行保存到列表中。这可以在两行中完成:
with open('UCRM3_All.txt', 'r') as fileObj:
lines[:] = [line for line in fileObj.read().split('\n') if "AL" in line]
这称为列表理解。您可以在线阅读更多内容。
现在,您可以将行列表打印到文件(不同的文件):
for i in xrange(len(lines)):
with open("f" + str(i) = ".txt", "w") as fileObj:
fileObj.write(lines[i])