Pandascsv到sqlite3 sqlalchemy dtype值

2024-09-29 02:27:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为要插入到sqlite文件的表中的列设置数据类型。我不熟悉sqlalchemy,不知道如何设置每列的数据类型。在

注意:我只是把它们都改成数字,只是为了让它正常工作。当我获得ValueError异常时,我将把它们更改为所需的值。在

import pandas
import sqlite3
import sqlalchemy

conn = sqlite3.connect('finances.sqlite')

vang401k = pandas.read_csv('/Google Drive/PF/401k.csv')

dtypes = {
        'CreateDate': sqlalchemy.NUMERIC(),
        'Account': sqlalchemy.NUMERIC(),
        'Contributed': sqlalchemy.NUMERIC(),
        'MonthlyReturns': sqlalchemy.NUMERIC(),
        'Performance': sqlalchemy.NUMERIC(),
        'Totals': sqlalchemy.NUMERIC(),
        'MonthChange': sqlalchemy.NUMERIC(),
        'YTDReturn': sqlalchemy.NUMERIC(),
        'YTDROI': sqlalchemy.NUMERIC()
         }

vang401k.to_sql('vanguard401k', conn, if_exists='replace', index=False, dtype=dtypes)

这将引发ValueError异常

^{pr2}$

我是否遗漏了一些内容或格式有误sqlalchemy.types?在

如果我尝试 from sqlalchemy.types import String并将所有数据类型更改为

dtypes = {
            'CreateDate': String,
            'Account': String, ...

我有一个不同的例外

ValueError: YTDROI (<class 'sqlalchemy.sql.sqltypes.String'>) not a string

如果有任何改变,也可以使用python3.5.1


Tags: csvimportpandassqlitestringsqlalchemyaccountconn