Я использую Windows 7.0 и имею Python 3.4. Я очень новичок в Python. Вот мой список. Это файл цены. У меня есть тысячи из них, но сейчас я пытаюсь заставить его работать только на одном.Извлечение строк из текстового файла на основе первого столбца для текста в Python
Я пытаюсь извлечь только строки, начинающиеся с hfus, ious или oaus.
caus 123456 99.872300000 2
gous 1234567 99.364200000 2
oaus 891011 97.224300000 2
ious 121314 96.172800000 2
hfus 151617 99081.00 2
hfus 181920 1.000000000 2
Желаемый результат.
oaus 891011 97.224300000 2
ious 121314 96.172800000 2
hfus 151617 99081.00 2
hfus 181920 1.000000000 2
Вот что я написал до сих пор, но он не работает. Я также хотел бы, чтобы он прокручивал каждый файл и перезаписывал существующий файл с усеченным списком, сохраняя его с его оригинальным именем. Файл 033117.txt представляет дату. Каждый файл сохраняется как mmddyy.txt. Приобретение его для работы над всеми файлами было бы идеальным, но на данный момент, если я могу заставить его работать над одним файлом, это было бы неплохо.
inFile = open("033117.txt")
outFile = open("result.txt", "w")
buffer = []
keepCurrentSet = True
for line in inFile:
buffer.append(line)
if line.startswith("hfus"):
if line.startswith("oaus"):
if line.startswith("ious"):
if keepCurrentSet:
outFile.write("".join(buffer))
keepCurrentSet = True
buffer = []
elif line.startswith(""):
keepCurrentSet = False
inFile.close()
outFile.close()
в петле, попробуйте 'beginning_line = line.split() [0]', а затем вы можете сделать чек с 'если 'oaus' в beginning_line' ... Плюс я предлагаю открыть файлы с помощью 'with' – fedepad
' if line.split() [0] in ('hfus', 'ious', 'oaus'): #do stuff' – TheClonerx