У меня есть папка, в которой хранятся файлы из моей подходящей модели в формате .txt
.
Мой вопрос здесь состоит в том, как написать цикл, который возьмет, например, p1_cen 7.65782003
из этого файла и добавит его встолбец в файле .csv
?Еще одна вещь, которая связана с моим вопросом, состоит в том, что количество этих файлов равно 288, потому что я храню данные по 5 минут каждый день.И цикл, который мне нужен, состоит в том, чтобы взять из этих 288 файлов определенные данные, например, как указано выше. Есть ли у вас какие-либо идеи, как это сделать?
На данный момент у меня есть этот код, который записывает данные в .txt
файлы из моей модели lmfit.
with open('S:\Doc\Python\Results\DecompositionBx ' + "{0}".format(Station) + "{0}{1}".format(Start_time_hours_format, Start_time_minutes_format) + ".txt", 'w') as fh:
fh.write(result.fit_report(show_correl=False))
Кстати.мои файлы названы соответственно
DecompositionBxHylaty0000
...
DecompositionBxHylaty2355
ОБНОВЛЕНИЕ !!!
Так что код из @bobrobbob работает:
import csv
from datetime import timedelta
data = []
for i in range(288):
skip = i*timedelta(minutes=5)
hours, minutes, _ = str(skip).split(':')
filename = "S:\Dok\Python\Results\DecompositionBx Hylaty%02d%02d.txt" % (int(hours), int(minutes))
with open(filename) as f:
lines = f.readlines()
for line in lines:
if line.startswith(' p1_cen'):
data.append(line.split('+')[0])
break
with open('S:\Dok\Python\Results\data.csv', 'w') as f:
writer = csv.writer(f)
for line in data:
writer.writerow(line)
Я получаю что-то вроде этого, что почтиидеально: