Python 使用Pandas读取精确的表定义
正在尝试使用Pandas导入用于数据分析的数据库表。我有一个包含多个列的源表,如下所示:Python 使用Pandas读取精确的表定义,python,pandas,Python,Pandas,正在尝试使用Pandas导入用于数据分析的数据库表。我有一个包含多个列的源表,如下所示: ID float NOT NULL, Name varchar(36) NOT NULL, Address varchar(100) 当我将其拉入数据帧并运行以下操作时: df.info() 我得到: ID float64 Name object Address object 有没有办法让它读取准确的数据定义?i、 e.“varchar(36)”而不是“object” 这是从Teradata表中读取
ID float NOT NULL,
Name varchar(36) NOT NULL,
Address varchar(100)
当我将其拉入数据帧并运行以下操作时:
df.info()
我得到:
ID float64
Name object
Address object
有没有办法让它读取准确的数据定义?i、 e.“varchar(36)”而不是“object”
这是从Teradata表中读取数据,如果这有区别的话
谢谢据我所知,这是不可能的。
varchar
数据类型仅存在于Teradata数据库系统中,一旦您将其拉入数据帧,它就会被转换为一种数据类型(str
或unicode
)
pandas、numpy和python中的数据类型概述:据我所知,这是不可能的。
varchar
数据类型仅存在于Teradata数据库系统中,一旦您将其拉入数据帧,它就会被转换为一种数据类型(str
或unicode
)
pandas、numpy和python中的数据类型概述:pandas依赖于numpy数据类型的定义 访问包含更多信息的,但我将从中复制所有类型:
[numpy.generic,
[[numpy.number,
[[numpy.integer,
[[numpy.signedinteger,
[numpy.int8,
numpy.int16,
numpy.int32,
numpy.int64,
numpy.int64,
numpy.timedelta64]],
[numpy.unsignedinteger,
[numpy.uint8,
numpy.uint16,
numpy.uint32,
numpy.uint64,
numpy.uint64]]]],
[numpy.inexact,
[[numpy.floating,
[numpy.float16, numpy.float32, numpy.float64, numpy.float128]],
[numpy.complexfloating,
[numpy.complex64, numpy.complex128, numpy.complex256]]]]]],
[numpy.flexible,
[[numpy.character, [numpy.bytes_, numpy.str_]],
[numpy.void, [numpy.record]]]],
numpy.bool_,
numpy.datetime64,
numpy.object_]]
底线是,我看不到任何支持显示类似于varchar(#)的数据类型。处理字符串的默认方法是在框架中为它们分配数据类型“object”
就我所知,在Python中,通常没有固定大小或半固定大小的字符串(不过可以进行固定大小的打印格式)。 访问包含更多信息的,但我将从中复制所有类型:
[numpy.generic,
[[numpy.number,
[[numpy.integer,
[[numpy.signedinteger,
[numpy.int8,
numpy.int16,
numpy.int32,
numpy.int64,
numpy.int64,
numpy.timedelta64]],
[numpy.unsignedinteger,
[numpy.uint8,
numpy.uint16,
numpy.uint32,
numpy.uint64,
numpy.uint64]]]],
[numpy.inexact,
[[numpy.floating,
[numpy.float16, numpy.float32, numpy.float64, numpy.float128]],
[numpy.complexfloating,
[numpy.complex64, numpy.complex128, numpy.complex256]]]]]],
[numpy.flexible,
[[numpy.character, [numpy.bytes_, numpy.str_]],
[numpy.void, [numpy.record]]]],
numpy.bool_,
numpy.datetime64,
numpy.object_]]
底线是,我看不到任何支持显示类似于varchar(#)的数据类型。处理字符串的默认方法是在框架中为它们分配数据类型“object”
就我所知,在Python中通常没有固定大小或半固定大小的字符串(不过,您可以为打印设置固定大小的格式)。谢谢,这个链接很有帮助。我想我在这项特殊的任务上可能运气不好,除非除了熊猫之外还有别的东西可以用?我已将你发送的链接添加到书签中,很好,谢谢,该链接很有帮助。我想我在这项特殊的任务上可能运气不好,除非除了熊猫之外还有别的东西可以用?我已经将你发送的链接添加到书签,很好的信息