RevitからExcelにRevitPythonShellでデータを書き込もうとしています。IronpythonでExcelに書き込む
これまでのところ、私はzip形式のリスト内のすべてのデータを収集し、以下のように対応する行と列にデータを書き込むためのforループを列挙作った:ループが呼んでいるので
for index, data in enumerate(wall_zipped_list):
for count, parameters in enumerate(data):
wall_cell = worksheet_wanden.Range[(str(column_list[count]))+str(index+5)]
wall_cell.Value2 = data[count]
これは非常に遅いです毎回Value2
です。約800の壁を含むRevitモデルは、Excelに書き込むのに2分かかります。だから私は辞書を使って別の方法を試みました。
for k , v in data_dict.iteritems():
#print k, v[0]
worksheet_wanden.Range["A"+str(count)].Value2 = k
worksheet_wanden.Range["B"+str(count)].Value2 = v[0]
worksheet_wanden.Range["C"+str(count)].Value2 = v[1]
worksheet_wanden.Range["D"+str(count)].Value2 = v[2]
worksheet_wanden.Range["E"+str(count)].Value2 = v[3]
worksheet_wanden.Range["F"+str(count)].Value2 = v[4]
worksheet_wanden.Range["G"+str(count)].Value2 = v[5]
worksheet_wanden.Range["H"+str(count)].Value2 = v[6]
worksheet_wanden.Range["I"+str(count)].Value2 = v[7]
worksheet_wanden.Range["J"+str(count)].Value2 = v[8]
worksheet_wanden.Range["K"+str(count)].Value2 = v[9]
count += 1
この方法はすでにかなり早いです。これはExcelで10列で約800行を塗りつぶすのに約20秒かかります。あなたは辞書やリストをExcelの行や列に書くことができるIronPythonの機能がいくつかありませんか?
また、3Dパーティーモジュールのインストールも検討しました。しかし、RevitPythonShellがIronPython 2.7.3を利用して以来、これは実際の選択肢ではなく、ピップインストールを動作させることはできません。
ありがとうございます。
IronPythonで最初にcsvに書き込んだ後、何らかの方法でExcelにインポートする方が速いのでしょうか?