O mdb da lista ficou guardado aqui e as vezes eu tentava dar uma olhada nele, pra achar alguma mensagem da época. O problema é que o script usado salvava uma grande tabela onde o campo 'message' era o e-mail inteiro em html. Isso dificultava ler alguma coisa no LibreOffice Base, por exemplo. O ideal era extrair esse conteúdo e deixar de forma mais legível. Tentei algumas vezes converter o arquivão (327 MB), sem sucesso. Até que nas minhas últimas férias consegui gerar um html para cada mensagem da lista.
O primeiro passo foi converter o mdb para csv, formato que eu gosto e consigo tratar de forma mais rápida. Usando o MDBTools no Linux ficou bem fácil. Listei as tabelas do mdb com o comando mdb-tables e converti para csv com o comando mdb-export. A tabela que importava era a Ygr_GibiHouse.csv que continha as quase 24000 mensagens, de 2001 até 2012.
Com o arquivo num formato mais familiar foi só usar um pouco de Python pra extrair e salvar mensagem por mensagem num arquivo HTML pra abrir no navegador. Segue abaixo o código final, que também coloquei no meu Github, vai que sirva pra mais alguém.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | import csv import os dir_path = "path" #open the file Ygr_GibiHouse.csv with UTF-8 character map with open('Ygr_GibiHouse.csv', encoding='utf-8') as csvfile: #read one row at a time reader = csv.DictReader(csvfile) #create a list of dictionaries data = list(reader) for i in range(0, len(data)): k = i // 1000 #divide by 1000 to get the thousandth digit #create a directory in dir_path if not os.path.exists(dir_path + str(k)): os.makedirs(dir_path + str(k)) #create a html file # open the file with open(dir_path + str(k) + '\\gibi' + str(i) + '.html', 'w', encoding='utf-8') as html: # write the html header html.write('<html>\n') # write the html body html.write('<body>\n') # write de email in the body html.write(data[i]['RecDate'] + '<br>\n') html.write(data[i]['From'] + '<br><br>\n') html.write(data[i]['Subject'] + '<br><br>\n') html.write(data[i]['Message'] + '<br>\n') # write the html footer html.write('</body>\n') html.write('</html>\n') # close the file html.close() #close the file csvfile.close() |
Gostei bastante da ideia, principalmente do motivo que o fez aprender.
ResponderExcluirTenho algumas edições da MAD, mas muitos quadrinhos, cadastrei minha coleção no Guia dos Quadrinhos.Parabéns pelo blog!