Ich habe einen Ordner in den alle 5 Minuten eine CSV Datei gepusht wird, von einem FTP Server, da sind nicht benötigte Daten enthalten in der Zeile 6 und 7 sind die Daten von belang welche in einem Dictionary zusammen geführt werden. mit diesem Dictionary soll dann die Datenbank befüllt werden. Es geht darum das Einzelne Tabellen erstellt werden sollen, aus den unterschiedlichen werten.
Aus den zwei Zeilen wird soll dann ein Dictionary enstehen.
[codebox=text file=Unbenannt.txt]
row[6]
Fehler;Zeitverschiebung (UTC) (minuten);Ortszeitstempel;Wirkenergie (kWh);Strommittelwert L1;Strommittelwert L2;Strommittelwert L3;Schaltkreis 1 Wirkenergie (kWh);Schaltkreis 1 (A);Schaltkreis 2 Wirkenergie (kWh);Schaltkreis 2 Strommittelwert (A);Schaltkreis 3 Wirkenergie (kWh);Schaltkreis 3 Strommittelwert (A);Schaltkreis 4 Wirkenergie (kWh);Schaltkreis 4 Strommittelwert (A);Schaltkreis 5 Wirkenergie (kWh);Schaltkreis 5 Strommittelwert (A);Schaltkreis 6 Wirkenergie (kWh);Schaltkreis 6 Strommittelwert (A);Schaltkreis 7 Wirkenergie (kWh);Schaltkreis 7 Strommittelwert (A);Schaltkreis 8 Wirkenergie (kWh);Schaltkreis 8 Strommittelwert (A);Schaltkreis 9 Wirkenergie (kWh);Schaltkreis 9 Strommittelwert (A);Schaltkreis 10 Wirkenergie (kWh);Schaltkreis 10 Strommittelwert (A);Schaltkreis 11 Wirkenergie (kWh);Schaltkreis 11 Strommittelwert (A);Schaltkreis 12 Wirkenergie (kWh);Schaltkreis 12 Strommittelwert (A);Schaltkreis 13 Wirkenergie (kWh);Schaltkreis 13 Strommittelwert (A);Schaltkreis 14 Wirkenergie (kWh);Schaltkreis 14 Strommittelwert (A);Schaltkreis 15 Wirkenergie (kWh);Schaltkreis 15 Strommittelwert (A);Schaltkreis 16 Wirkenergie (kWh);Schaltkreis 16 Strommittelwert (A);Schaltkreis 17 Wirkenergie (kWh);Schaltkreis 17 Strommittelwert (A);Schaltkreis 18 Wirkenergie (kWh);Schaltkreis 18 Strommittelwert (A);Schaltkreis 19 Wirkenergie (kWh);Schaltkreis 19 Strommittelwert (A);Schaltkreis 20 Wirkenergie (kWh);Schaltkreis 20 Strommittelwert (A);Schaltkreis 21 Wirkenergie (kWh);Schaltkreis 21 Strommittelwert (A);Schaltkreis 22 Wirkenergie (kWh);Schaltkreis 22 Strommittelwert (A);Schaltkreis 23 Wirkenergie (kWh);Schaltkreis 23 Strommittelwert (A);Schaltkreis 24 Wirkenergie (kWh);Schaltkreis 24 Strommittelwert (A);Schaltkreis 25 Wirkenergie (kWh);Schaltkreis 25 Strommittelwert (A);Schaltkreis 26 Wirkenergie (kWh);Schaltkreis 26 Strommittelwert (A);Schaltkreis 27 Wirkenergie (kWh);Schaltkreis 27 Strommittelwert (A);Schaltkreis 28 Wirkenergie (kWh);Schaltkreis 28 Strommittelwert (A);Schaltkreis 29 Wirkenergie (kWh);Schaltkreis 29 Strommittelwert (A);Schaltkreis 30 Wirkenergie (kWh);Schaltkreis 30 Strommittelwert (A);Schaltkreis 31 Wirkenergie (kWh);Schaltkreis 31 Strommittelwert (A);Schaltkreis 32 Wirkenergie (kWh);Schaltkreis 32 Strommittelwert (A);Schaltkreis 33 Wirkenergie (kWh);Schaltkreis 33 Strommittelwert (A);Schaltkreis 34 Wirkenergie (kWh);Schaltkreis 34 Strommittelwert (A);Schaltkreis 35 Wirkenergie (kWh);Schaltkreis 35 Strommittelwert (A);Schaltkreis 36 Wirkenergie (kWh);Schaltkreis 36 Strommittelwert (A);Schaltkreis 37 Wirkenergie (kWh);Schaltkreis 37 Strommittelwert (A);Schaltkreis 38 Wirkenergie (kWh);Schaltkreis 38 Strommittelwert (A);Schaltkreis 39 Wirkenergie (kWh);Schaltkreis 39 Strommittelwert (A);Schaltkreis 40 Wirkenergie (kWh);Schaltkreis 40 Strommittelwert (A);Schaltkreis 41 Wirkenergie (kWh);Schaltkreis 41 Strommittelwert (A);Schaltkreis 42 Wirkenergie (kWh);Schaltkreis 42 Strommittelwert (A)
row[7]
25;0;2018-01-04 10:05:00;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
[/code]
Code: Alles auswählen
from glob import glob
from pprint import pprint as p
from os import remove, access
import sys
import time
import csv
import matplotlib.pyplot as plt
import locale
import sqlite3
import json
PathString = "F:\\WVS\\Projekt\\wer\\egx300\\"
newpath = "E:\\back_up\\PycharmProjects\\OS_DIR_Sort\\egx300"
def creat_Device1_list(path=newpath+"\\Device 1_1*"):
'''Aus einem Ordner wird eine Liste der enthaltenen Datein erzeugt, hier als Default direkt mit einem Filter für Device 1_1 '''
clear_device_list = []
for filename in glob(path):
clear_device_list.append(filename)
return clear_device_list
def value_select1(datei_value=creat_Device1_list(), get_value=""):
diclist = []
for i in datei_value:
liste = []
with open(i) as f:
reader = csv.reader(f, delimiter=';')
for row in reader:
liste.append(row)
dictionary = dict(zip(liste[6], liste[7]))
diclist.append(dictionary)
print(diclist)
for x in diclist:
x = dictionary.get(get_value)
#get_value1 =
return x
def create_table_for(name_tabelle, Datum, value1, value2):
path = ""
path_to_the_db_file = "E:\\back_up\\PycharmProjects\\OS_DIR_Sort\\Device1.dat"
conn = sqlite3.connect(path_to_the_db_file)
c = conn.cursor()
sql_string = '''CREATE TABLE IF NOT EXIST
{0}(
id {1} text,
{2} real,
{3} real
PRIMARY KEY({0}));
'''.format(name_tabelle, Datum, value1, value2)
c.execute(sql_string)
conn.commit()
result = c.fetchall()
c.close()
conn.close()
return result
def insert_in_db(Table,Primary_key, value1, value2):
path = ""
path_to_the_db_file = "E:\\back_up\\PycharmProjects\\OS_DIR_Sort\\Device1.dat"
conn = sqlite3.connect(path_to_the_db_file)
c = conn.cursor()
sql_string = '''INSERT INTO IF NOT EXIST
{0}(
id {1} text,
{2} real,
{3} real
PRIMARY KEY({0}));
'''.format(Table, Primary_key, value1, value2)
c.execute(sql_string)
conn.commit()
result = c.fetchall()
c.close()
conn.close()
return result
def remove_other_CSV(Not_remove=creat_Device1_list()):
'''Es wird eine Liste erzeugt die die zu Löschenden Dateien beinhaltet und löscht diese gleich. '''
#Not_remove = creat_Device1_list()
dirty_list = []
for i in glob("E:\\Projekt\\wer\\egx300\\*"):
dirty_list.append(i)
for x in Not_remove:
dirty_list.remove(x)
try:
for i in dirty_list:
remove(i)
except FileNotFoundError:
return
return
while True:
print(value_select1(get_value='Schaltkreis 1 Strommittelwert (A)'))