Я пытаюсь преобразовать этот текстовый файл с разделителями-пробелами в столбцы и строки (я хочу в конечном итоге преобразовать его в JSON). Мой сценарий не может отделить столбцы, вероятно, в основном потому, что я ищу пробелы. Я не могу изменить формат ввода (входящий текстовый файл)
У меня проблемы с форматом файла, это очень простой пример
col1 col2 col3 text col4
1403 bash 2014-07-28 22:32:53 UTC+0000 sudo bash
1464 bash 2014-07-28 22:32:28 UTC+0000 sudo root
когда я анализирую файл, я получаю это для данных ниже тире:
['1403', 'bash', '2014-07-28', '22:32:53', 'UTC+0000', 'sudo', 'bash']
Я хочу, чтобы это выглядело так:
['1403', 'bash', '2014-07-28 22:32:53 UTC+0000', 'sudo bash']
Это очень простой пример. но в основном я сопоставляю заголовки с данными под тире. дайте мне знать, если вы можете помочь с чем-либо.
ПРИМЕЧАНИЕ: вывод не должен быть точно таким, как показано, я просто хочу иметь возможность разделить данные cols.
Вот то, что у меня есть в коде, пока он разделяет заголовки на отдельные столбцы:
colNames = testFile.readline()
#tempList = re.split('(\s )', colNames)
headerList = []
for i in tempList:
j = i.replace(' ','')
if j != '':
headerList.append(j)
Затем у меня есть цикл для просмотра данных в зависимости от их местоположения (именно здесь я считаю, что мне нужно найти способ лучше разделить данные):
for line in testFile.readlines():
if rowCounter > 0:
row = line.split()
print row
for i in range(len(headerList)):
colNameDic.update({headerList[i]:row[i]})
rowDic = dict(colNameDic)
fileList.append(rowDic)
rowDic = {}
rowCounter +=1