Jours 1 et 2 de la création d'un outil de formatage du journal des opérations
Jour 3 de la création de l'outil de formatage du journal des opérations
Jour 4 de la création de l'outil de formatage du journal des opérations
test.bat
cd /d %~dp0
call firstpandas.exe
Le même dossier ressemble à ceci
Il y a un «firstpandas.exe» qui lit simplement «in.csv» et le rend «out.csv».
Le fichier que je reçois réellement n'est pas in.csv, donc je me demande si je devrais changer le csv reçu en argument avec * .bat en in.csv.
Au fait, il y avait plusieurs types de formats de fichiers, je les ai donc modifiés.
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 'Temps d'exécution' in df:
df_s = df.sort_values('Temps d'exécution')
df_s = df_s.reindex(columns=['Temps d'exécution',
'Nom de la fonction',
'Identifiant d'utilisateur',
'Nom du client',
'ID de connexion Windows',
'ID du terminal',
'Heure de connexion',
'Heure de déconnexion'])
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')
Les éléments suivants peuvent apparaître.
UnicodeDecodeError: 'shift_jis' codec can't decode byte 0x87 in position 22224: illegal multibyte sequence
J'ai pensé,
Points à noter lorsque vous laissez les pandas lire le csv de la sortie Excel
https://minus9d.hatenablog.com/entry/2015/07/30/225841 https://stackoverflow.com/questions/6729016/decoding-shift-jis-illegal-multibyte-sequence
Changement supplémentaire du codage selon.
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 'Temps d'exécution' in df:
df_s = df.sort_values('Temps d'exécution')
df_s = df_s.reindex(columns=['Temps d'exécution',
'Nom de la fonction',
'Identifiant d'utilisateur',
'Nom du client',
'ID de connexion Windows',
'ID du terminal',
'Heure de connexion',
'Heure de déconnexion'])
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')
Autre référence https://techacademy.jp/magazine/23367
formatter.bat
cd /d %~dp0
copy %1 in.csv
call ofmt.exe
echo "see out.csv!"
pause
Ça ressemble à ça
Recommended Posts