![](/img/trans.png)
[英]sqlite3.OperationalError: no such column: Python and Sqllite3
[英]python sqllite3 horizontal partitioning by string column
我有一個2500萬行的30gb sqllite3數據庫。 我想按字符串列對表進行分組,並為每個組創建一個新表,以該字符串命名並包含所有列。 python和sqllite3可以做到嗎? 我可以在python中處理塊,但是有sql命令嗎?
起始表: name = all_entries
a b c d
hi 4 234 lala
bye 7 342 lulu
bye 5 433 abc
bye 4 234 abd
hi 56 435 abc
hi 3 455 a
結果表:
name = bye
a b c d
bye 7 342 lulu
bye 5 433 abc
bye 4 234 abd
name = hi
a b c d
hi 4 234 lala
hi 56 435 abc
hi 3 455 a
如果您熟悉如何使用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}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.