辞書

先日、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で取得したような辞書を要素とする配列が返される。

敷居が低くくて開始しやすい。