所以我开始使用空白的DataFrame,根据表名列表从SQL语句中提取一堆新的dataFrame,然后将每个数据帧附加到起始的dataFrame。 例如:
df1 = pd.DataFrame()
for name in tableslist:
perT = pd.read_sql_query("SELECT FROM myschema.{0} WHERE username = '{1}'.format(name,user),engine)
df1 = df1.append(perT)
返回终端中的错误:data type not understood
。我很肯定它是由追加线引起的(我用print语句检查过)。可能导致什么? perT可能是一个没有行的表。这是一个问题吗?我已经尝试打印出每个表的头部,但仍然无法确定导致该错误/失败的原因。
答案 0 :(得分:3)
我发现,对于旧版本的pandas,当数据框中存在日期字段时(特别是Name
变体)会发生这种情况。在过去,我使用过多种解决方法(见下文),很难确切地知道什么可以帮助您而不会看到数据。
datetime64
)。df[col_name].apply(pd.Timestamp)
)。您的初始数据帧是一个空数据帧。不要尝试将非空数据帧附加到空数据帧,而是将初始数据帧设置为等于第一个非空数据帧,然后继续追加。
df[col_name].astype(str)
升级大熊猫:)