2015-10-12 11 views
6
RUN YR AP15 PMTE  RSPC NPPC  NEE  SSF  PRK QDRN 
0 1 2008 4.53 0.04 641.21 16.8 624.41 328.66 2114.51  0 
1 1 2009 3.17 0.03 1428.30 0.0 1428.30 23.58  3.20  0 
2 1 2010 6.20 0.03 1124.97 0.0 1124.97 23.94 18.45  0 
3 1 2011 5.38 0.02 857.76 0.0 857.76 28.40 42.54  0 
4 1 2012 7.32 0.02 831.42 0.0 831.42 23.92 25.58  0 

jestem przechowywania powyższy dataframe w db sqlite następująco:Błąd tabeli otwierania sqlite wykorzystujące pandy

from sqlalchemy import create_engine 
db_name = 'sqlite:///C:\\tmp.db' 
engine = create_engine(db_name) 
df.to_sql(db_name, engine, if_exists='append') 

Jednakże pojawia się błąd przy próbie odczytania go z powrotem:

df = pandas.read_sql_table(db_name, 'sqlite:///C:\\tmp.db') 

ValueError: Table sqlite:///C:tmp.db not found 

Utworzono tmp.db, ponieważ widzę go w studiu SQLite. Co ja robię źle?

+0

Czy "sqlite: /// C:/tmp.db" działa? – Rudi

+0

Niestety, nie jest to – user308827

+0

Składnia określająca adres URL sqlalchemy została wyjaśniona [tutaj] (http://docs.sqlalchemy.org/en/rel_0_9/core/engines.html#sqlite), więc adres URL wydaje się być w porządku. Czy na pewno plik istnieje? – joris

Odpowiedz

2

Określenie adresu URL łańcucha zamiast obiektu silnika jest dodawane tylko w ostatnio wydanym 0.17.0. Więc musisz najpierw skonstruować obiekt silnika:

engine = sqlalchemy.create_engine('sqlite:///C:\\tmp.db') 
df = pandas.read_sql_table(db_name, engine) 
Powiązane problemy