我是python的新手,我在以key和value的格式创建Dataframe时面临问题
data = [{'key':'\[GlobalProgramSizeInThousands\]','value':'1000'},]
Run Code Online (Sandbox Code Playgroud)
这是我的代码
columnsss = ['key','value'];
query = "select * from bparst_tags where tag_type = 1 ";
result = database.cursor(db.cursors.DictCursor);
result.execute(query);
result_set = result.fetchall();
data = "[";
for row in result_set:
`row["tag_expression"]`)
data += "{'value': %s , 'key': %s }," % ( `row["tag_expression"]`, `row["tag_name"]` )
data += "]" ;
df = DataFrame(data , columns=columnsss);
Run Code Online (Sandbox Code Playgroud)
但是当我在DataFrame中传递数据时,它向我展示了pandas.core.common.PandasError:未正确调用DataFrame构造函数!.
而如果我打印数据并将相同的值分配给数据变量,那么它的工作原理.
jor*_*ris 18
您正在向DataFrame构造函数提供字典的字符串表示形式,而不是字典本身.所以这就是你得到这个错误的原因.
因此,如果您想使用您的代码,您可以:
df = DataFrame(eval(data))
Run Code Online (Sandbox Code Playgroud)
但更好的方法是不首先创建字符串,而是将其直接放入字典中.大致像:
data = []
for row in result_set:
data.append({'value': row["tag_expression"], 'key': row["tag_name"]})
Run Code Online (Sandbox Code Playgroud)
但可能甚至不需要这样做,因为取决于result_set你可能的确切内容:
DataFrame(result_set)read_sql_query函数为您执行此操作(请参阅此文档)| 归档时间: |
|
| 查看次数: |
96253 次 |
| 最近记录: |