我有一个有 4 列的镶木地板文件。它看起来像下面这样。
+----+-----------+-------+--------+
|TYPE| ID| SRNO| AMT|
+--- +-----------+-------+--------+
|D | 123456| 1| 100.00|
|D | 123457| 2| 200.00|
|D | 123459| 3| 500.00|
|D | 123458| 4| 1000.00|
+----+-----------+-------+--------+
该文件的架构是
dataframe.printSchema
root
|-- TYPE: string (nullable = true)
|-- ID: integer (nullable = true)
|-- SRNO: integer (nullable = true)
|-- AMT: decimal(15,2) (nullable = true)
当我在 pandas 中读取此文件时,架构更改为十进制并表示为对象
pandas_dataframe.dtypes
TYPE object
ID int32
SRNO int32
AMT object
当我尝试从 pandas 数据框中获取数据时,出现以下错误
ps.sqldf("select * from pandas_dataframe")
Traceback(最近一次调用最后一次):文件“/usr/local/lib64/python3.6/site-packages/sqlalchemy/engine/base.py”,第 1229 行,_execute_context 游标、语句、参数、上下文文件“/usr /local/lib64/python3.6/site-packages/sqlalchemy/engine/default.py”,第 577 行,在 do_executemany cursor.executemany(statement, parameters) sqlite3.InterfaceError: Error binding parameter 3 - 可能是不支持的类型。
有人可以让我知道如何处理我需要在熊猫数据框中选择十进制字段的情况。