Я некоторое время сидел с задачей импортировать серверные журналы из файла .txt, записать его в словарь python и записать его дальше в файл csv, чтобы сделать его читаемым в базе данных. Когда я открываю его в FX. Excel, я хочу, чтобы он был указан с заголовками.
РЕДАКТИРОВАТЬ: Мне нужно, чтобы это было общим, чтобы я мог загрузить файл журнала любой длины и все равно получить все. Редактирование завершено.
Я застрял в части записи словаря в файл CSV. Мой следующий скрипт выглядит следующим образом, и отдельные, закомментированные файлы - это попытки, которые я использовал, чтобы заставить его записать его.
lineArray = []
timeArray = []
typeArray = []
whoArray = []
idArray = []
msgArray = []
infile = open('C:\SomeArea\data.txt', 'r')
dictionary = {'time','type','who','id','msg'}
for line in infile:
timeInString = line[:24]
timeInStringStripped = timeInString.strip()
timeArray.append(timeInStringStripped)
allTimes = ', '.join(timeArray)
#The last 4 fields was removed here to take less space
infile.close()
dictionary = {'time': allTimes, 'type': allTypes, 'who': allWhos, 'id': allIds, 'msg': allMsgs}
Половина попыток записать его в CSV
#<><><><><><><><><><><><><><><><><><><><><><><>#
#str = 'lement1, lement2'
#arr = ['lement1, lement2']
#import csv
#f = open('sometest2.csv', 'wb')
#wtr = csv.DictWriter(f, dictionary.viewkeys())
#for element in dictionary.viewitems():
# print element
# for e in element:
# print e
#wtr.writerow(0)
#f.close()
#wtr.writerows(allTimes)
#wtr.writerows(allTypes)
#wtr.writerows(allWhos)
#wtr.writerows(allIds)
#wtr.writerows(allMsgs)
#print dictionary
#<><><><><><><><><><><><><><><><><><><><><><><>#
import csv
f = open('sometest2.csv', 'wb')
wtr = csv.DictWriter(f, dictionary.viewkeys())
for row in dictionary: f.write("%s%s" %(delimiter.join([row[name] for name in fieldnames]),lineterminator))