【问题标题】:How to import CSV files to SQLite3 with python如何使用 python 将 CSV 文件导入 SQLite3
【发布时间】:2020-08-23 12:10:57
【问题描述】:

这是我的代码。

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'

我只想从 SQLite 中的 CSV 文件创建一个表。这甚至是正确的做法吗,还是我已经放弃了?

【问题讨论】:

    标签: python pandas sqlite sqlalchemy


    【解决方案1】:

    我认为你只需要更换

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 2012-03-19
      • 2015-02-06
      • 1970-01-01
      • 2014-12-02
      • 2015-11-04
      • 1970-01-01
      相关资源
      最近更新 更多