前提・実現したいこと
csvファイルから、PythonまたはPowerShellを使って、特定列の数値変換と特定列以降のデータを削除したいのですが、経験不足のため、どうすれば実現できるのか悩んでいます。
どのように導くのが良いのでしょうか。
6/24に同様の質問をしましたが、さらにこのようなデータだったらどう編集するんだろう?と疑問に思ったので、再度質問させていただきました。
度々の同じような質問となり恐縮ですが、よろしくお願いいたします。
編集前ファイル
before.csv
部門コード,営業店コード,ユーザーコード,今回取得日,今回指示値,前回取得日,前回指示値,(指示値)整数値桁数,備考1,備考2,備考3,備考4
100,-,1000001,21/05/25,0003052,21/04/25,0002012,4,aaa,bbb,ccc,ddd
-,1000,1000002,21/05/26,0040073,21/04/26,0050052,3,eee,fff,ggg,hhh
200,-,2000001,21/05/24,0010527,21/04/23,0009358,5,iii,jjj,kkk,lll
-,9000,9000001,21/05/20,0006415,,,4,mmm,nnn,ooo,ppp
編集後ファイル
after1.csv
部門コード,営業店コード,ユーザーコード,今回取得日,今回指示値,前回取得日,前回指示値,備考1
100,-,1000001,20210525,3,20210425,2,aaa
-,1000,1000002,20210526,4,20210426,5,eee
after2.csv
部門コード,営業店コード,ユーザーコード,今回取得日,今回指示値,前回取得日,前回指示値,備考1
200,-,2000001,20210524,105,20210423,93,iii
after3.csv~after8.csv
部門コード,営業店コード,ユーザーコード,今回取得日,今回指示値,前回取得日,前回指示値,備考1
after9.csv
部門コード,営業店コード,ユーザーコード,今回取得日,今回指示値,前回取得日,前回指示値,備考1
-,9000,9000001,20210520,6,00000000,0,mmm
試したいこと
・ユーザーコードの先頭1桁目を判断して、ファイルを分割する。(1の場合はafter1.csv、2の場合はafter2.csv、…、9の場合はafter9.csvへ。3~8の場合は対象データがないためヘッダのみ出力してcsvへ。)
・今回取得日・前回取得日ともに日付は8桁に置き換えます。
・初回の指示値取得の場合は、前回取得日と前回指示値は編集前ファイルの時点で入っていません。入っていない場合は、前回取得日は00000000へ、前回指示値は0へ置き換えます。
・今回指示値・前回指示値は整数値と小数点以下の値が混在しています。編集前ファイルに、(指示値)整数値桁数を持っているため、指示値は整数値桁数に応じた数値に変換することとします。
(例)指示値:0003052、整数値桁数:4であれば、変換後の指示値は3。指示値:0010527、整数値桁数:5であれば、変換後の指示値は105。
・不要な列((指示値)整数値桁数と備考2以降)の列を削除する。