先日、CSVをXMLに変換するときに、CSVをcsv.DictReaderで辞書として取得した。
その際に、これは使い道が高いように感じた。
PythonがVBAより良いと書かれていることがある。
ExcelのMacroはPythonに置き換わるのではないかと。
PythonはExcelの外にあるのが、ひとつのメリットだし、中だとVBAの方が痒い所に手が届くと思う。
また処理速度が違う。
VBAだと処理速度の向上が図れる。
配列を使いCellでなくRangeを対象にすることもそうだけど、複数のBookを対象にする定型業務などだと、ClassとCollectionの処理を使うととてつもなく速い。
コントロールするExcelを開いてボタンを押すだけで、画面には何も表示されずに、リモートプリンタに結果が印刷されるようなことも可能。
なので、ClassとCollectionを実装するようなケースではPythonは不利と思っていた。
しかし、速度的にはそうだと思うけど、Excelデータを辞書に変換すると、ClassとCollectionに近いイメージ。
df = pd.read_excel('sample.xlsx', header=0,index_col=None)
dc=df.to_dict(orient='records')
CSVをcsv.DictReaderで取得したような辞書を要素とする配列が返される。
敷居が低くくて開始しやすい。