我有一个 30GB 的 sqllite3 数据库,有 2500 万行。我想按字符串列对表进行分组,并为每个组创建一个新表,以字符串命名并包含所有列。这可以用 python 和 sqllite3 实现吗?我可以在 python 中处理块,但是有 sql 命令吗?开始表: name = all_entriesa b c dhi 4 234 lalabye 7 342 lulubye 5 433 abcbye 4 234 abdhi 56 435 abchi 3 455 a结果表:name = byea b c dbye 7 342 lulubye 5 433 abcbye 4 234 abdname = hia b c dhi 4 234 lalahi 56 435 abchi 3 455 a
1 回答
德玛西亚99
TA贡献1770条经验 获得超3个赞
如果您熟悉如何使用 sqlite,您可以利用pandas并将您的表拆分为多个块,然后将它们推送回您的数据库。
以下是拆分数据的方法:
import pandas as pd
df = pd.DataFrame({'a': ['hi', 'bye', 'bye', 'bye', 'hi', 'hi'],
'c': [234, 342, 433, 234, 435, 455],
'b': [4, 7, 5, 4, 56, 3],
'd': ['lala', 'lulu', 'abc', 'abd', 'abc', 'a']})
dfs = {i: df.loc[df['a']==i] for i in df['a'].unique()}
dfs
#{'bye': a b c d
# 1 bye 7 342 lulu
# 2 bye 5 433 abc
# 3 bye 4 234 abd,
# 'hi': a b c d
# 0 hi 4 234 lala
# 4 hi 56 435 abc
# 5 hi 3 455 a}
添加回答
举报
0/150
提交
取消