【发布时间】:2018-06-15 13:51:25
【问题描述】:
我正在尝试使用 panda 读取 csv 文件并对其进行解析,然后将结果上传到我的 django 数据库中。好吧,现在我将每个数据帧转换为一个列表,然后遍历该列表以将其保存在数据库中。但是当每个列的列表都很大时,我的解决方案效率很低。我怎样才能让它变得更好?
fileinfo = pd.read_csv(csv_file, sep=',',
names=['Series_reference', 'Period', 'Data_value', 'STATUS',
'UNITS', 'Subject', 'Group', 'Series_title_1', 'Series_title_2',
'Series_title_3','Series_tile_4','Series_tile_5'],
skiprows = 1)
# serie = fileinfo[fileinfo['Series_reference']]
s = fileinfo['Series_reference'].values.tolist()
p = fileinfo['Period'].values.tolist()
d = fileinfo['Data_value'].values.tolist()
st = fileinfo['STATUS'].values.tolist()
u = fileinfo['UNITS'].values.tolist()
sub = fileinfo['Subject'].values.tolist()
gr = fileinfo['Group'].values.tolist()
stt= fileinfo['Series_title_1'].values.tolist()
while count < len(s):
b = Testdata(
Series_reference = s[count],
Period = p[count],
Data_value = d[count],
STATUS = st[count],
UNITS = u[count],
Subject = sub[count],
Group = gr[count],
Series_title_1 = stt[count]
)
b.save()
count = count + 1
【问题讨论】:
-
我的第一直觉会使用 pandas.DataFrame.to_dict 然后遍历 dict 以创建一堆内置的 Testdata 实例。我发现这个 SO 链接很有帮助。 stackoverflow.com/questions/1639174/…