sin*_*tor 3 python sql append python-3.x pandas
所以我从一个空白的数据帧开始,根据表名列表从 SQL 语句中提取一堆新的数据帧,然后将每个数据帧附加到起始数据帧。前任:
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)
Run Code Online (Sandbox Code Playgroud)
这将返回错误:data type not understood在终端中。我肯定它是由 append 行引起的(我已经检查过打印语句)。是什么原因造成的?perT 可能是一个没有行的表。这是一个问题吗?我已经尝试打印出每个表的头部,但仍然无法确定导致该错误/失败的原因。
我发现对于旧版本的熊猫,当数据帧中存在日期字段(特别是datetime64变体)时,可能会发生这种情况。过去我使用了许多变通方法(见下文),如果没有看到数据,很难确切地知道什么可以帮助你。
df[col_name].apply(pd.Timestamp))。df[col_name].astype(str))。您的初始数据帧是一个空数据帧。不要尝试将非空数据帧附加到空数据帧,而是将初始数据帧设置为等于第一个非空数据帧,然后继续附加。
if df1.empty:
df1 = perT
else:
df1 = df1.append(perT)
Run Code Online (Sandbox Code Playgroud)升级熊猫:)