-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathextractor.py
69 lines (47 loc) · 1.84 KB
/
extractor.py
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import os
from os import walk
import glob
import codecs
import re
from datetime import datetime
from django.db import connection, transaction
# import sqlite3
pathfiles = './filestxt'
mylines = []
def extrair_db():
cursor = connection.cursor()
def insert_data():
try:
# inserindo dados na tabela
cursor.executemany("""INSERT INTO core_alimento (nome, quantidade, proteinas, carboidratos, gorduras, criado_em)
VALUES (%s, %s, %s, %s, %s, %s) ON CONFLICT(nome) DO NOTHING """, mylines)
# cursor.executemany("""
# INSERT INTO core_alimento (nome, quantidade, proteinas, carboidratos, gorduras, criado_em)
# VALUES (:nome, :quantidade, :proteinas, :carboidratos, :gorduras, :criado_em)
# ON CONFLICT(nome) DO UPDATE SET nome=:nome, quantidade=:quantidade, proteinas=:proteinas, carboidratos=:carboidratos, gorduras=:gorduras
# """, mylines)
print('Dados inseridos com sucesso.')
except:
print('Ocorreu um erro ao inserir os dados no banco de dados')
def read_file(file):
count = 0
with codecs.open(file, encoding='utf-8') as f:
for line in f:
line = line.replace('\n','')
line = re.split(r'\s\s+', line.capitalize())
line.append(datetime.now())
if count > 1:
mylines.append(line)
count += 1
f.close()
insert_data()
mylines.clear()
def find_files(path):
for (dirpath, dirnames, filenames) in walk(path):
for file in filenames:
if '.txt' in file:
read_file(path+'/'+file)
# print(path+'/'+file)
find_files(pathfiles)
cursor.close()
# extrair_db()