我是python + scrapy + alembic的新手。我找到了一种使用bulk_insert函数在alembic中插入一些init数据的方法。
我的代码:(直接插入)
op.bulk_insert('table',
[
{
'id' : 1,
'website': 'http://example',
'xpath_pagination': '',
'xpath_product': '',
},
{
'id' : 1,
'website': 'http://example',
'xpath_pagination': '',
'xpath_product': '',
},
{
'id' : 1,
'website': 'http://example',
'xpath_pagination': '',
'xpath_product': '',
},
])
现在,我想改变从网站插入的方式
希望代码:
import initdata
...
op.bulk_insert('table', initdata.data)
我的问题:如何正确地做到这一点? (在这种情况下使用类型文件)。如何插入模块initdata。
谢谢
答案 0 :(得分:0)
如果initdata是
形式的模块data = [
{
'id' : 1,
'website': 'http://example',
'xpath_pagination': '',
'xpath_product': '',
}
]
然后您可以在显示时使用
调用批量插入import initdata
op.bulk_insert('table', initdata.data)
但是,如果initdata是一个文本文件,那么您需要放入一个具有适当结构的字典数组。在这种情况下,它自然适合JSON。