1
diggerdu 2019-11-23 00:44:10 +08:00 via iPhone
用 pandas 吧
|
2
loliordie 2019-11-23 00:52:08 +08:00
把单条数据的处理函数拆出来扔给 celery 这样的多线程框架, 如果不是上百 G 这种规模一会就处理完了
|
3
66450146 2019-11-23 01:11:42 +08:00 2
如果对字典列表进行快速的合并,这个合并就会很快
|
4
mskf 2019-11-23 01:22:18 +08:00
对于除了 id 主键之外的字段的处理你是用的 data 字段,但是怎么知道哪些是主键哪些不是,如果有外键需不需要加进 data,如果多余字段只有一个需不需要用 data 数组存储,这些你都必须要明确
|
5
widewing 2019-11-23 02:03:03 +08:00 via Android
头大
又看到 如何->如果 就很难受 |
6
imn1 2019-11-23 02:27:28 +08:00
昨天问字典的那个是不是你?
|
7
ClericPy 2019-11-23 13:07:39 +08:00
不慢
|
9
cherbim 2019-11-23 21:20:37 +08:00 via iPhone
这个昨天有人问过
|
10
yucongo 2019-11-27 12:24:04 +08:00
lst = [{"id":"abc","name":"x","pf":"1"},{"id":"abc","name":"y","pf":"2"},{"id":"abc","name":"z","pf":"1"}]
data = [dict(zip([*lst[idx].keys()][1:], [*map(lambda elm: lst[idx].get(elm), [*lst[idx].keys()][1:])])) for idx in range(3)] {"id":"abc","data":data} # |
11
yucongo 2019-11-27 12:35:53 +08:00
简单一点:
data = [(lambda x: x.pop('id') * False or x)(elm) for elm in lst] {"id":"abc","data":data} # |
12
caoyouming 2019-11-28 11:52:00 +08:00
@yucongo #11 小白有点看不懂这个代码啊,解释一下
|
13
caoyouming 2019-11-28 12:03:23 +08:00
@yucongo #11 研究了一下,看懂了。哎,python 之路还很长啊。
|