Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sheet: csv does not match any given tables #33

Closed
skrypnyk-dmytro opened this issue Sep 28, 2018 · 3 comments
Closed

Sheet: csv does not match any given tables #33

skrypnyk-dmytro opened this issue Sep 28, 2018 · 3 comments

Comments

@skrypnyk-dmytro
Copy link

skrypnyk-dmytro commented Sep 28, 2018

Hello! I can't understand what i'm do wrong
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

    request.save_book_to_database(
        field_name='file', session=db.session,
        initializers = [article_init_func],
        tables=[Article])
    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

127.0.0.1 - - [28/Sep/2018 02:37:51] "POST /warehouse/1 HTTP/1.1" 500 -
Traceback (most recent call last):
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/flask/app.py", line 1997, in call
return self.wsgi_app(environ, start_response)
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/flask/app.py", line 1985, in wsgi_app
response = self.handle_exception(e)
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/flask/app.py", line 1540, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
raise value
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
raise value
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functionsrule.endpoint
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/flask_login/utils.py", line 228, in decorated_view
return func(*args, **kwargs)
File "/home/g1ps0n/Dev/4auto/app/main/routes.py", line 54, in warehouse
tables=[Article])
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/pyexcel_webio/init.py", line 237, in save_book_to_database
pe.save_book_as(**params)
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/pyexcel/core.py", line 113, in save_book_as
return sources.save_book(book, **dest_keywords)
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/pyexcel/internal/core.py", line 51, in save_book
return _save_any(a_source, book)
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/pyexcel/internal/core.py", line 55, in _save_any
a_source.write_data(instance)
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/pyexcel/plugins/sources/db_sources.py", line 110, in write_data
**self._keywords
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/pyexcel/plugins/renderers/sqlalchemy.py", line 63, in render_book_to_stream
save_data(importer, to_store, file_type=self._file_type, **keywords)
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/pyexcel_io/io.py", line 127, in save_data
**keywords
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/pyexcel_io/io.py", line 144, in store_data
writer.write(data)
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/pyexcel_io/book.py", line 218, in write
sheet_writer = self.create_sheet(sheet_name)
File "/home/g1ps0n/Dev/4auto/venv/lib/python3.6/site-packages/pyexcel_io/database/importers/sqlalchemy.py", line 98, in create_sheet
+ "Please be aware of case sensitivity."
Exception: Sheet: csv does not match any given tables.Please be aware of case sensitivity.

@chfw
Copy link
Member

chfw commented Sep 28, 2018

It reads to me that you have uploaded single csv file but use save_book_to_database. So I think you should have used save_to_database() instead.

here is the definition of book in pyexcel's context: http://docs.pyexcel.org/en/latest/design.html#data-models-and-data-structures

@skrypnyk-dmytro
Copy link
Author

Oups, thank you! Sorry for this stupid issue. RTFM Forever

@chfw
Copy link
Member

chfw commented Sep 28, 2018

There is no stupid issue. That is how learning works. Through QA, the knowledge is transferred.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants