У меня есть входной файл, который многократно содержит данные в одном и том же формате в 5 строках. Мне нужно отформатировать эти данные в одну строку (файл CSV) и иметь только несколько полей, относящихся ко мне. Как мне достичь упомянутого результата с помощью предоставленного входного файла.
Примечание. Я новичок в изучении любого языка и еще не дошел до такой глубины деталей, чтобы написать свой собственный. Я уже написал код, в котором я импортирую входной файл, достигая определенного слова, а затем распечатываю остальные данные (здесь мне нужна помощь, поскольку мне не нужна вся информация во входных данных, поскольку я использую пробел разделитель не дает вывод в правильных столбцах). Я также написал код для записи вывода в файл csv.
Примечание 2 - Я тоже очень заинтересован в этом форуме и прошу прощения, если я сделал какую-либо публикацию при отправке своего запроса.
Вход - Входной файл
Выход - Выходной файл
import itertools, csv
mylines, first_items, new_list, new_list2, new_list_n = [], [], [], [], []
with open ('H:/Giri/REP02.txt', 'rt') as myfile:
contents = myfile.read()
slice = contents.split('RRC RSN')
slice_length = (len(slice))-1
print(slice[1])
for i in range(1, slice_length):
first = slice[i]
first_items = first.split(' ')
if i<=(slice_length/2):
new_list.append(list(filter(None, first_items)))
else:
new_list2.append(list(filter(None, first_items)))
for element in new_list:
for element2 in element:
new_list_n.append(element2.strip())
print(new_list_n)
#new_list2 = [x.replace('\n', '').replace(' ', '') for x in new_list2]
fp = open('H:/Giri/REP02_a.csv', 'w', '\n')
myFile = csv.writer(fp)
#myFile.writerow(columns)
#myFile.writerows(rows)
for word in new_list:
myFile.writerow(word)
fp.close()