Tage 1 und 2 zum Erstellen eines Formatierungswerkzeugs für Betriebsprotokolle Tag 3 des Erstellens des Formatierungswerkzeugs für das Betriebsprotokoll
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 0: invalid start byte
CSV ist so (maskiert)
oplog20201112.csv
Benutzeridentifikation,Kundenname,Windows-Anmelde-ID,Terminal ID,IP Address,MAC Address,Domainname,Anmeldezeit,Abmeldezeit,Anmeldestatus,Aktion,Funktionsname,Name der Ausführungsdatei(Schale),Streit(Befehlszeile),Ausführungszeit,Ausführungsstatus
"all","client-name","works","client-name","xx.xx.xx.xx","xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx ","123-456","2020/11/12 13:18:56","2020/11/12 13:23:38","Erfolg","Programm","Jobüberwachung","Job.exe","-context:*****","2020/11/12 13:19:23","Erfolg"
"all","client-name","works","client-name","xx.xx.xx.xx","xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx ","123-456","2020/11/12 13:18:56","2020/11/12 13:23:38","Erfolg","Programm","Hauptmenü","Companyxx.exe","-cfg","2020/11/12 13:18:56","Erfolg"
"all","client-name","works","client-name","xx.xx.xx.xx","xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx ","123-456","2020/11/12 13:18:56","2020/11/12 13:23:38","Erfolg","Programm","Systemeinstellung","Maintenance.exe","-context:*****","2020/11/12 13:19:19","Erfolg"
"all","client-name","works","client-name","xx.xx.xx.xx","xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx ","123-456","2020/11/12 13:18:56","2020/11/12 13:23:38","Erfolg","Batchjob","mst13","svc.sh","userid/password","2020/11/12 13:19:32","Erfolg"
"all","client-name","works","client-name","xx.xx.xx.xx","xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx ","123-456","2020/11/12 13:18:56","2020/11/12 13:23:38","Erfolg","Batchjob","mst13","test.sh","userid/password 0 0","2020/11/12 13:19:29","Erfolg"
"all","client-name","works","client-name","xx.xx.xx.xx","xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx ","123-456","2020/11/12 13:18:56","2020/11/12 13:23:38","Erfolg","Batchjob","mst13","test.sh","userid/password 0 0","2020/11/12 13:19:30","Erfolg"
"all","client-name","works","client-name","xx.xx.xx.xx","xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx ","123-456","2020/11/12 13:18:56","2020/11/12 13:23:38","Erfolg","Batchjob","mst13","out.sh","userid/password %JAVA% 0","2020/11/12 13:19:31","Erfolg"
"all","client-name","works","client-name","xx.xx.xx.xx","xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx ","123-456","2020/11/12 13:18:56","2020/11/12 13:23:38","Erfolg","Programm","Job Management","quevw.exe","-context:*****","2020/11/12 13:19:20","Erfolg"
"all","client-name","works","client-name","xx.xx.xx.xx","xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx ","123-456","2020/11/12 13:18:56","2020/11/12 13:23:38","Erfolg","Programm","batchjob jobid:498298","test.sh","userid/password 0 0","2020/11/12 13:19:56","Erfolg"
"all","client-name","works","client-name","xx.xx.xx.xx","xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx xx-xx-xx-xx-xx-xx ","123-456","2020/11/12 13:18:56","2020/11/12 13:23:38","Erfolg","Programm","batchjob jobid:498301","svc.sh","userid/password","2020/11/12 13:21:39","Erfolg"
Nun, Japanisch war enthalten. Benötigt Codierung.
https://techacademy.jp/magazine/21128
Es spielt überhaupt keine Rolle
Verarbeiten Sie Daten mit Pandas basierend auf der CSV-Datei der neuen Python-Corona
Deshalb sieht es interessant aus.
Nachdem der Text mit einem Editor zur Bestätigung in UTF-8 geändert wurde, war das Lesen erfolgreich. Oh, möchten Sie nach Datum und Uhrzeit sortieren?
firstpandas.py
import pandas as pd
df = pd.read_csv('oplog20201112.csv')
print(df)
df_s = df.sort_values('Ausführungszeit')
print(df_s)
Infolgedessen werden sie ganz normal nach Ausführungszeit sortiert. Das war's. Speichern wir die CSV unter einem anderen Namen.
Kehren Sie zu dieser Seite zurück. https://note.nkmk.me/python-pandas-to-csv/
firstpandas.py
import pandas as pd
df = pd.read_csv('oplog20201112.csv')
# print(df)
df_s = df.sort_values('Ausführungszeit')
# print(df_s)
df_s.to_csv('out.csv')
Das vorherige Codierungsproblem wird unten behandelt. https://note.sngklab.jp/?p=435
firstpandas.py
import pandas as pd
df = pd.read_csv('oplog20201112.csv',encoding="SHIFT-JIS")
print(df)
df_s = df.sort_values('Ausführungszeit')
print(df_s)
df_s.to_csv('out.csv')
Dann, wie man die Spalte bewegt. https://note.nkmk.me/python-pandas-reindex/
Wie Sie sehen können, sieht es so aus.
firstpandas.py
import pandas as pd
df = pd.read_csv('oplog20201112.csv',encoding="SHIFT-JIS")
# print(df)
df_s = df.sort_values('Ausführungszeit')
# print(df_s)
df_s = df_s.reindex(columns=['Ausführungszeit',
'Funktionsname',
'Benutzeridentifikation',
'Kundenname',
'Windows-Anmelde-ID',
'Terminal ID',
'Anmeldezeit',
'Abmeldezeit'])
df_s.to_csv('out.csv')
Ich möchte auch sehen, wie ich es einfacher machen kann. Es gibt so etwas wie Pyinstaller.
[pyInstaller # Lassen Sie es uns tatsächlich erstellen](https://qiita.com/hirohiro77/items/466e411fa41f144c8b2a#%E5%AE%9F%E9%9A%9B%E3%81%AB%E4%BD%9C% E6% 88% 90% E3% 81% 97% E3% 81% A6% E3% 81% BF% E3% 82% 88% E3% 81% 86)
set path=C:\Users\works\AppData\Local\Programs\Python\Python39\Scripts;%path%
Bitte beachten Sie, dass dies zuerst erforderlich ist. An der Eingabeaufforderung
C:\workspaces\playground>pyinstaller firstpandas.py --onefile
67 INFO: PyInstaller: 4.0
67 INFO: Python: 3.9.0
69 INFO: Platform: Windows-10-10.0.19041-SP0
70 INFO: wrote C:\workspaces\playground\firstpandas.spec
(Unterlassung)
Dann wurde Exe erfolgreich abgeschlossen.
https://news.mynavi.jp/article/python-28/