こんにちは、オブジェクトを独自の名前で csv に保存するための小さなヘルパー関数を作成しようとしています。
私はデータの配列を扱っています。これは、配列を簡単に視覚化して編集しやすくするための回避策を意図しています。
私が直面している課題は、変数を以下の MWEx
の名前まで参照する関数を取得する方法が不明であることです。a
私ができるようにしたいのは、として保存することa.csv
です。getattr()
うまくいかないので困っています。
import random
import csv
def csvit(x):
f=open(name(x)+'.csv','wb'):
writer = csv.writer(f,quotechar='"', quoting=csv.QUOTE_ALL)
[writer.writerow(i) for i in x]
f.close()
a = []
for i in range(10):
t = [random.randint(0,1000) for r in range(10)]
a.append(t)
name(x) は機能する関数ではなく、代わりに何を使用すればよいかわかりません。fun(x)
利回りが得られる関数を本当に探しています["a"]
完全を期すために、以下の@PhilCooperの回答の裏で機能すると思われるコードは
import csv
def csvit(x):
tmp = next(key for key,val in globals().items() if val == x and not key.startswith('_'))
f=open('/home/me/Desktop/csvs/'+tmp+'.csv','wb')
writer = csv.writer(f,quotechar='"', quoting=csv.QUOTE_ALL,dialect=csv.excel)
[writer.writerow(i) for i in x]
f.close()
コメントや改善点を歓迎します。