» Poradna » Zpět na dotaz

Data do MySQL ze souboru

Béda  |  8. 1. 2020 20:03:26  |  Odpovědí: 77

Ahoj lidi. Mám problém se svojí meteostanicí, ze které jsem získával data pomocí skriptu v pythonu (wws2mysql), ale nějak se mi to rozbilo a nemám schopnosti na spravení. Skript jsem zvládl upravit tak, že místo MySQL uloží ta data alespoň do souboru. Soubor má tuto strukturu: {0: {'abs_pressure': 966.3, 'delay': 5, 'hum_in': 42, 'hum_out': 91, 'idz': datetime.datetime(2020, 1, 8, 18, 23, 59), 'ptr': 4896, 'rain': 188.7, 'status': 0, 'temp_in': 20.1, 'temp_out': 2.6, 'wind_ave': 0.7, 'wind_dir': 6, 'wind_gust': 1.0}, 1: {'abs_pressure': 966.3, 'delay': 5, 'hum_in': 41, 'hum_out': 91, 'idz': datetime.datetime(2020, 1, 8, 18, 18, 59), 'ptr': 4880, 'rain': 188.7, 'status': 0, 'temp_in': 20.1, 'temp_out': 2.6, 'wind_ave': 0.3, 'wind_dir': 4, 'wind_gust': 1.0}, 3: {'abs_pressure': 967.5, 'delay': 5, 'hum_in': 50, 'hum_out': 81, 'idz': datetime.datetime(2019, 12, 23, 19, 28, 59), 'ptr': 4928, 'rain': 178.5, 'status': 0, 'temp_in': 20.8, 'temp_out': 4.800000000000001, 'wind_ave': 1.4000000000000001, 'wind_dir': 14, 'wind_gust': 2.0}} A teď zásadní otázka: Jak to rozumně dostat do MySQL? Zkoušel jsem to přes příkaz LOAD DATA LOCAL INFILE 'test.txt' INTO TABLE wwsdb FIELDS TERMINATED BY '\r\n' LINES TERMINATED BY '}' (@col1,@col2,@col3,@col4,@col5,@col6,@col7) set ID=NULL,idz=@col1,hum_in=@col3,temp_in=@col7,hum_out=@col4,temp_out=@col6,abs_pressure=@col7; Ale nedopadává to úplně dobře (samozřejmě). Napadá někoho, jak na to? Jestli nějak načítat přes PHP ten soubor po částech a párat z toho části nebo jiná metoda? Běží to na linuxu (raspberry). Samozřejmě ideální by bylo spravit ten skript, ale jeho autor už asi nekomunikuje a python jde zcela mimo mě Díky za případnou pomoc. Asi to vidím na to PHP, ale je tam spousta otazníků, jak z toho vykousat jenom ty části pro jeden záznam a přidávat je do databáze jenom, když tam ještě nejsou...

Jméno:
 

E-mail (nepovinné, adresa bude v zabezpečené podobě zobrazena u přezdívky):

:-D :-)) :-) ;-) :-P :-| :-/ :-( 3-[ :-O B-]
 

Pravidla diskuzí v Poradně webu Živě.cz

Zasláním příspěvku do Poradny souhlasíte s těmito pravidly:

  • Podmínky užívání služby informační společnosti
  • Informace o zpracování osobních údajů
  • Příspěvky se musí týkat tématu otázky.
  • Příspěvky nesmí obsahovat vulgární výrazy a slovní útoky na jiné osoby. Příspěvky nesmí poškozovat web Živě.cz ani jeho provozovatele.
  • Je zakázáno vkládat do příspěvků odkazy na stránky nabízející obsah porušující autorská a jiná práva.
  • Příspěvky nelze využívat k propagaci.
  • Příspěvky, které porušují pravidla diskuzí, budou odstraněny. Případně budou upraveny tak, aby neporušovaly pravidla diskuzí. V textu bude následně uvedeno, že příspěvky byly ze strany moderátorů upraveny.
  • Právo moderovat Poradnu mají pouze zástupci vybraní redakcí Živě.cz. Základní kontrola příspěvku probíhá ještě před jeho zveřejněním.
  • Živě.cz je soukromý web a provozovatel má při řešení sporů, které se týkají příspěvků v Poradně, vždy konečné slovo.

Kdy vám můžeme smazat příspěvek?

  • Když budete vulgární.
  • Když budete slovně útočit na ostatní.
  • Když se nebudete držet tématu dotazu.
  • Když budete poradnu zneužívat pro reklamu.
  • Když záměrně zneužijete cizí přezdívku.
  • Když budete porušovat zákony.
  • A když budete na takové příspěvky reagovat, protože se vždy mažou včetně odpovědí ve stromu.