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