Как импортировать файлы CSV в SQLite3 с помощью python - PullRequest
0 голосов
/ 08 мая 2020

Это мой код.

import sqlite3
import pandas

db = sqlite3.connect('testdb.db')

df = pandas.read_csv('testcsv.csv')
df.to_sql('testTable', 'db', if_exists='append', index=False)

Я получил последние две строки кода из другой статьи о stackoverflow, но у меня это не работает. Это ошибка, которую я получаю даже после того, как я установил sqlalchemy, потому что он жаловался, что он не был установлен.

Traceback (most recent call last):
  File "C:/Users/pitye/PycharmProjects/gradeCalcV2/venv/sqlite.py", line 7, in <module>
    df.to_sql('testTable', 'db', if_exists='append', index=False)
  File "C:\Users\pitye\PycharmProjects\gradeCalcV2\venv\lib\site-packages\pandas\core\generic.py", line 2663, in to_sql
    method=method,
  File "C:\Users\pitye\PycharmProjects\gradeCalcV2\venv\lib\site-packages\pandas\io\sql.py", line 503, in to_sql
    pandas_sql = pandasSQL_builder(con, schema=schema)
  File "C:\Users\pitye\PycharmProjects\gradeCalcV2\venv\lib\site-packages\pandas\io\sql.py", line 577, in pandasSQL_builder
    con = _engine_builder(con)
  File "C:\Users\pitye\PycharmProjects\gradeCalcV2\venv\lib\site-packages\pandas\io\sql.py", line 564, in _engine_builder
    con = sqlalchemy.create_engine(con)
  File "C:\Users\pitye\PycharmProjects\gradeCalcV2\venv\lib\site-packages\sqlalchemy\engine\__init__.py", line 479, in create_engine
    return strategy.create(*args, **kwargs)
  File "C:\Users\pitye\PycharmProjects\gradeCalcV2\venv\lib\site-packages\sqlalchemy\engine\strategies.py", line 54, in create
    u = url.make_url(name_or_url)
  File "C:\Users\pitye\PycharmProjects\gradeCalcV2\venv\lib\site-packages\sqlalchemy\engine\url.py", line 229, in make_url
    return _parse_rfc1738_args(name_or_url)
  File "C:\Users\pitye\PycharmProjects\gradeCalcV2\venv\lib\site-packages\sqlalchemy\engine\url.py", line 291, in _parse_rfc1738_args
    "Could not parse rfc1738 URL from string '%s'" % name
sqlalchemy.exc.ArgumentError: Could not parse rfc1738 URL from string 'db'

Я просто хочу создать таблицу из файла CSV в SQLite. Это вообще правильный способ сделать это, или я не могу?

1 Ответ

0 голосов
/ 08 мая 2020

Думаю, вам просто нужно заменить

df.to_sql('testTable', 'db', if_exists='append', index=False)

на

df.to_sql('testTable', db, if_exists='append', index=False)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...