【发布时间】:2018-06-15 08:47:59
【问题描述】:
将 csv(50k 行)转换为 json 以供 Django 模板最终使用非常慢。我想知道我是否正确转换了它,或者是否有更好的方法来做到这一点。
csv 的前几行是:
tdate,lat,long,entity
3/6/2017,34.152568,-118.347831,x1
6/3/2015,34.069787,-118.384738,y1
1/1/2011,34.21377,-118.227904,x1
3/4/2013,33.81761,-118.070374,y1
正在视图中读取此 csv 并以这种方式呈现请求:
def index(request):
df = pd.read_csv('app/static/data.csv')
df.tdate=pd.to_datetime(df.tdate)
df['Qrt'] = df.tdate.dt.quarter
df['Yr'] = df.tdate.dt.year
jzon=df.groupby('entity')[['lat','long','Qrt','Yr']].apply(lambda x: x.to_dict('records')).to_json(orient='columns')
return render(request, 'app/index.html', {'jzon': jzon})
{"x1":[{"lat":34.152568,"long":-118.347831,"Qrt":1.0,"Yr":2017.0},{"lat":34.21377,"long":-118.227904,"Qrt":1.0,"Yr":2011.0}],"y1":[{"lat":34.069787,"long":-118.384738,"Qrt":2.0,"Yr":2015.0},{"lat":33.81761,"long":-118.070374,"Qrt":1.0,"Yr":2013.0}]}
【问题讨论】: