Tage 1 und 2 zum Erstellen eines Formatierungswerkzeugs für Betriebsprotokolle
Tag 3 des Erstellens des Formatierungswerkzeugs für das Betriebsprotokoll
Tag 4 des Erstellens des Formatierungswerkzeugs für das Betriebsprotokoll
test.bat
cd /d %~dp0
call firstpandas.exe
Der gleiche Ordner sieht so aus

Es gibt eine firstpandas.exe, die nur in.csv liest und es zu out.csv macht.
Die Datei, die ich tatsächlich bekomme, ist nicht in.csv, daher frage ich mich, ob ich die als Argument mit * .bat empfangene CSV in in.csv ändern soll.
Übrigens gab es verschiedene Arten von Dateiformaten, deshalb habe ich sie geändert.
How to check if a column exists in Pandas https://stackoverflow.com/questions/24870306/how-to-check-if-a-column-exists-in-pandas
firstpandas.py
import pandas as pd
df = pd.read_csv('oplog20201112.csv',encoding="SHIFT-JIS")
# print(df)
if 'Ausführungszeit' in df:
df_s = df.sort_values('Ausführungszeit')
df_s = df_s.reindex(columns=['Ausführungszeit',
'Funktionsname',
'Benutzeridentifikation',
'Kundenname',
'Windows-Anmelde-ID',
'Terminal ID',
'Anmeldezeit',
'Abmeldezeit'])
if 'PRC_DATE' in df:
df_s = df.sort_values('PRC_DATE')
df_s = df_s.reindex(columns=['PRC_DATE',
'DETAIL1',
'USERID',
'TERM_ID'])
df_s.to_csv('out.csv')
Folgendes kann erscheinen.
UnicodeDecodeError: 'shift_jis' codec can't decode byte 0x87 in position 22224: illegal multibyte sequence
Ich dachte,
Zu beachtende Punkte, wenn Pandas CSV der Excel-Ausgabe lesen lassen
https://minus9d.hatenablog.com/entry/2015/07/30/225841 https://stackoverflow.com/questions/6729016/decoding-shift-jis-illegal-multibyte-sequence
Weiter geändert die Kodierung nach.
firstpandas.py
import pandas as pd
# df = pd.read_csv('in.csv',encoding="SHIFT-JIS")
df = pd.read_csv('in.csv',encoding="shift_jisx0213")
# print(df)
if 'Ausführungszeit' in df:
df_s = df.sort_values('Ausführungszeit')
df_s = df_s.reindex(columns=['Ausführungszeit',
'Funktionsname',
'Benutzeridentifikation',
'Kundenname',
'Windows-Anmelde-ID',
'Terminal ID',
'Anmeldezeit',
'Abmeldezeit'])
if 'PRC_DATE' in df:
df_s = df.sort_values('PRC_DATE')
df_s = df_s.reindex(columns=['PRC_DATE',
'DETAIL1',
'USERID',
'TERM_ID'])
df_s.to_csv('out.csv')
Andere Referenz https://techacademy.jp/magazine/23367
formatter.bat
cd /d %~dp0
copy %1 in.csv
call ofmt.exe
echo "see out.csv!"
pause
Es sieht aus wie das

Recommended Posts