Kontext: Ich habe eine Tabelle in MySQL-Datenbank, die das Format wie folgt hat. Jede Zeile ist ein Tag Aktienkurs und VolumendatenDaten zu mysql aktualisieren, wenn Zeile nicht existiert mit Python
Ticker,Date/Time,Open,High,Low,Close,Volume
AAA,7/15/2010,19.581,20.347,18.429,18.698,174100
AAA,7/16/2010,19.002,19.002,17.855,17.855,109200
BBB,7/19/2010,19.002,19.002,17.777,17.777,104900
BBB,7/19/2010,19.002,19.002,17.777,17.777,104900
CCC,7/19/2010,19.002,19.002,17.777,17.777,104900
....100000 rows
Diese Tabelle durch den Import der Daten aus mehreren * .txt-Datei mit der gleichen Spalte und Format erstellt wird. Der Name der * .txt-Datei ist identisch mit dem Tickernamen in der Tickerspalte: zB: import AAA.txt erhält die 2 Zeilen AAA-Daten.
All diese * .txt-Datei wird automatisch von einem System generiert, das den Aktienkurs in meinem Land abruft. Jeden Tag, nach dem Börsenschluss, wird die .txt-Datei eine neue Zeile entsprechend den Daten des neuen Tages haben.
Frage: jeden Tag, wie kann ich die neue Zeile in jeder txt-Datei in die Datenbank aktualisieren, ich möchte nicht alle Daten in der TXT-Datei in MySQL-Tabelle jeden Tag geladen werden, da es eine Menge Zeit in Anspruch nehmen Ich möchte nur neue Zeilen laden.
Wie sollte ich den Code schreiben, um diese Aktualisierung Mission zu tun.
Cron-Job das Skript täglich gekreuzt mit auszuführen: wenn Sie eine Datei öffnen, anstatt sie zu öffnen und startete von Anfang an, könnte man es öffnen und hat die Dateizeiger vom Ende der Datei versetzt werden nur die letzte Zeile lesen? – Fallenreaper
Diese Lösung ist nicht sehr effektiv, da nicht immer die letzte Zeile geladen wird. Wenn ich die Tabelle nicht täglich aktualisiere, dh einige Zeit aktualisiere ich die Daten alle 3 Tage, einige Zeit alle 5 Tage, so muss ich den Code jedes Mal ändern, um die korrekte neue Zeile zu laden. Gibt es sowieso die bestehende Zeile zu ignorieren und nur neue Zeilen anzuhängen –
unter der Annahme, dass die TXT-Dateien nur gelesen werden, was ist mit dem Speichern der End-Zeiger-Stelle irgendwo, so dass es dort aufnehmen kann, wo es aufgehört hat? – Fallenreaper