0

我在 pyexcel 的 save_to_database 函数中的 mapdict 参数遇到了一些问题。

看来我仍然需要在文件的开头有一行列名,否则会出错。一旦将它们转换为字典,mapdict 是否不指定每列要使用的名称?

我非常不确定这个论点实际上做了什么......

任何帮助,将不胜感激!!

4

1 回答 1

0

看,如果你有这样的 CSV,这很简单:

brand,sku,description,quantity,price
br,qw3234,s sdf sd ,4,23.5
br,qw3234,s sdf sd ,4,23.5
br,qw3234,s sdf sd ,4,23.5
br,qw3234,s sdf sd ,4,23.5

你不需要mapdict

但如果你的 CSV 没有第一行,你需要它。例如我的烧瓶项目中的一种和平:

def article_init_func(row):

    warehouse = Warehouse.query.filter_by(id=id).first()
    a = Article()
    a.pricelist_id = p.id
    a.sku=row['sku']
    a.description=row['description']
    a.brand=row['brand']
    a.quantity=row['quantity']
    a.city=warehouse.city
    a.price=row['price']
    return a

map_row = ['brand', 'sku', 'description', 'quantity', 'price']

request.save_to_database(
    field_name='file', session=db.session,
    initializer = article_init_func,
    table=Article,
    mapdict=map_row)
于 2018-10-01T09:08:19.300 回答