-
-
Notifications
You must be signed in to change notification settings - Fork 84
Description
Hello! I need help , again)
if i use mapdict parameter for CSV file i'ts raise
builtins.KeyError
KeyError: 'sku'
but for xslx files, with same content, its work prefectly
My Route
@bp.route('/warehouse/', methods=['GET', 'POST'])
@login_required
def warehouse(id):if request.method == 'POST': def article_init_func(row): a = Article() 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, initializers = [article_init_func], tables=[Article], mapdict=map_row) return redirect(url_for('/shop'), code=302)
my Model
class Article(Entity, db.Model):
pricelist_id = db.Column(db.Integer, db.ForeignKey('pricelist.id'), nullable=False)
brand = db.Column(db.String(64))
sku = db.Column(db.String(64))
description = db.Column(db.String(254))
quantity = db.Column(db.Integer)
city = db.Column(db.String(64))
delivery_terms = db.Column(db.String(64))
price = db.Column(db.Integer)
my CSV
brand,sku,description,quantity,price
br,qw3234,s sdf sd ,4,23.5,
br,qw2324,sd sdf sd ,4,23.5,
br,qw3324,sdf sdf sd ,4,23.5,
br,q32324,sdfs sdf sd ,4,23.5,
traceroute
Traceback (most recent call last):
File "c:\users\admin\dev\4auto\venv\lib\site-packages\flask\app.py", line 1997, in call
return self.wsgi_app(environ, start_response)
File "c:\users\admin\dev\4auto\venv\lib\site-packages\flask\app.py", line 1985, in wsgi_app
response = self.handle_exception(e)
File "c:\users\admin\dev\4auto\venv\lib\site-packages\flask\app.py", line 1540, in handle_exception
reraise(exc_type, exc_value, tb)
File "c:\users\admin\dev\4auto\venv\lib\site-packages\flask_compat.py", line 33, in reraise
raise value
File "c:\users\admin\dev\4auto\venv\lib\site-packages\flask\app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "c:\users\admin\dev\4auto\venv\lib\site-packages\flask\app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "c:\users\admin\dev\4auto\venv\lib\site-packages\flask\app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "c:\users\admin\dev\4auto\venv\lib\site-packages\flask_compat.py", line 33, in reraise
raise value
File "c:\users\admin\dev\4auto\venv\lib\site-packages\flask\app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "c:\users\admin\dev\4auto\venv\lib\site-packages\flask\app.py", line 1598, in dispatch_request
return self.view_functionsrule.endpoint
File "c:\users\admin\dev\4auto\venv\lib\site-packages\flask_login\utils.py", line 261, in decorated_view
return func(*args, **kwargs)
File "C:\Users\Admin\Dev\4auto\app\main\routes.py", line 88, in warehouse
mapdict=map_row)
File "c:\users\admin\dev\4auto\venv\lib\site-packages\pyexcel_webio_init_.py", line 170, in save_to_database
pe.save_as(**params)
File "c:\users\admin\dev\4auto\venv\lib\site-packages\pyexcel\core.py", line 83, in save_as
return sources.save_sheet(sheet, **dest_keywords)
File "c:\users\admin\dev\4auto\venv\lib\site-packages\pyexcel\internal\core.py", line 43, in save_sheet
return _save_any(a_source, sheet)
File "c:\users\admin\dev\4auto\venv\lib\site-packages\pyexcel\internal\core.py", line 55, in _save_any
a_source.write_data(instance)
File "c:\users\admin\dev\4auto\venv\lib\site-packages\pyexcel\plugins\sources\db_sources.py", line 64, in write_data
**self._keywords
File "c:\users\admin\dev\4auto\venv\lib\site-packages\pyexcel\plugins\renderers\sqlalchemy.py", line 35, in render_sheet_to_stream
**keywords
File "c:\users\admin\dev\4auto\venv\lib\site-packages\pyexcel_io\io.py", line 127, in save_data
**keywords
File "c:\users\admin\dev\4auto\venv\lib\site-packages\pyexcel_io\io.py", line 144, in store_data
writer.write(data)
File "c:\users\admin\dev\4auto\venv\lib\site-packages\pyexcel_io\book.py", line 220, in write
sheet_writer.write_array(incoming_dict[sheet_name])
File "c:\users\admin\dev\4auto\venv\lib\site-packages\pyexcel_io\sheet.py", line 174, in write_array
self.write_row(row)
File "c:\users\admin\dev\4auto\venv\lib\site-packages\pyexcel_io\database\importers\sqlalchemy.py", line 45, in write_row
self._write_row(new_array)
File "c:\users\admin\dev\4auto\venv\lib\site-packages\pyexcel_io\database\importers\sqlalchemy.py", line 56, in _write_row
obj = self._native_sheet.row_initializer(row)
File "C:\Users\Admin\Dev\4auto\app\main\routes.py", line 74, in article_init_func
a.sku=row['sku']
KeyError: 'sku'