小编Vin*_*llo的帖子

TypeError:'dict'对象不支持在此查询的第二个实例上抛出索引

所以我正在使用以下代码构建基于用户输入的查询:

    if empty_indic_form.validate_on_submit():
    query='select name, year, value, display_name from literal inner join ent on ent_id=ent.id where display_name in ('
    for i in indic_form.indicators.data:
        query=query+'\''+i+'\','
    query=query[:-1]+') '
    query=query+'and name in ('
    for c in order_c:
        query=query+c+','
    query=query[:-1]+')'
    data_return=db.engine.execute(query).fetchall()
Run Code Online (Sandbox Code Playgroud)

我已经确认查询看起来像它应该是什么,甚至有一个早期的会话,它返回一个像我期望的rowproxy对象列表.但是现在无论我做什么,我都会收到这个错误!

我已经将查询设置为模板中的变量,因此我可以将其打印出来,这是我得到的:

select name, year, value, display_name from literal inner join ent on ent_id=ent.id where display_name in ('Energy savings of primary energy (TJ)','Adolescent birth rate (women aged 15-19 years)','Net migration rate','Transmission and distribution losses (%)') and name in ('Burkina Faso', 'Ghana', 'Saudi Arabia', …

python sqlalchemy psycopg flask flask-sqlalchemy

5
推荐指数
1
解决办法
6937
查看次数

AttributeError:尝试从字典列表创建 DataFrame 时,“列表”对象没有属性“键”

非常感谢您的帮助,

我有一个字典列表,需要将其放入数据框中。我知道 pandas 的正常方法是

final_df=pd.DataFrame.from_records(Mixed_and_Poured[0], index='year')
Run Code Online (Sandbox Code Playgroud)

其中 Mixed_and_poured 是一个列表,其中包含另一个实际保存字典的列表

print Mixed_and_Poured
[[{'Country': 'Brazil', u'Internet users': '2.9', 'Year': '2000'}, {'Country': 'Brazil', u'Internet users': '21', 'Year': '2005'}, {'Country': 'Brazil', u'Internet users': '40.7', 'Year': '2010'}, {'Country': 'Brazil', u'Internet users': '45', 'Year': '2011'}, 
Run Code Online (Sandbox Code Playgroud)

我可以发誓

final_df=pd.DataFrame.from_records(Mixed_and_Poured[0], index='year')
Run Code Online (Sandbox Code Playgroud)

刚刚工作!!但是当我今天运行它时它会抛出

AttributeError: 'list' object has no attribute 'keys'
Run Code Online (Sandbox Code Playgroud)

为什么现在要在此列表中查找键?

python dictionary list dataframe pandas

4
推荐指数
1
解决办法
2万
查看次数

使用 Mailkit 验证输入字符串是否为电子邮件

我看到MimeKit.MailboxAddress有一种TryParse方法,如果它被覆盖,可以使用它来验证某些字符串输入是电子邮件地址吗?这些文档非常混乱,TryParse单独解析!realEmail!com"就可以了。

需要明确的是,我不需要验证电子邮件是否确实存在,只需验证其是否有效即可。我还想避免使用正则表达式,只是确保电子邮件在 MimeKit 看来是有效的...我是否必须创建一条假消息并尝试添加地址才能做到这一点?似乎太过分了。System.Net.Mail 只会通过无效电子邮件的异常,这很好,因为我可以只使用 try/catch。

mailkit asp.net-core

1
推荐指数
1
解决办法
3654
查看次数