有人可以帮我弄这个吗。
我有我的选择查询
selectAttendance = """SELECT * FROM table """
我想要选择查询的内容,并在下载csv文件时包含标题,因此我执行了以下查询:
with open(os.path.join(current_app.config['UPLOAD_FOLDER'], 'csv.csv'), 'wb') as csvfile:
writer = csv.DictWriter(csvfile,fieldnames = ["Bio_Id","Last_Name","First_Name","late","undertime","total_minutes", "total_ot", "total_nsd", "total_absences"], delimiter = ';')
writer.writeheader()
writer.writerow(db.session.execute(selectAttendance))
db.session.commit()
但这给了我这个错误
**ValueError: dict contains fields not in fieldnames**
我想在我下载的csv文件中有这样的输出:
Bio_Id Last_Name First_Name late undertime total_minutes total_ot total_nsd total_absences
1 Joe Spark 1 1 2 1 1 1
先感谢您。
如错误所示:来自查询的词典包含的键多于您在DictWriter构造函数中指定的字段名称。
一种解决方案是提前对其进行过滤,如下所示:
field_names = ["Bio_Id","Last_Name", ...]
writer = csv.DictWriter(csvfile,fieldnames=field_names , delimiter = ';')
writer.writeheader()
data = {key: value for key, value in db.session.execute(selectAttendance).items()
if key in field_names}
writer.writerow(data)
另一种解决方案是仅使用那些字段来构造查询:
query = 'SELECT %s FROM table' % ', '.join(field_names)
但是,蒂姆·皮茨克(Tim Pietzcker)的答案是最好的。
问题内容: 我正在使用ADO从Excel工作簿导入数据。我在一个工作表上遇到麻烦,其中一个列名包含一个点:“ Col.1”。 我尝试了所有发现的东西:双引号,方括号,后卫。什么都行不通。会引发错误,或者在每行上查询输出“ Col.1”。 鉴于我无法重命名源文件中的列, 如何使用其名称而不是其编号([F1])手动选择此列? 问题答案: 我终于找到了如何从此列中检索数据。 您需要 替换“。” 按“#”
我试图反序列化JSON的格式 类类型 因为我有一个映射类型,所以我添加了一个键反序列化器来反序列化 但是当我尝试反序列化时,我得到了一个异常 这是因为它遇到了在中,它在那里中断。如果我将整个键放在双引号中,它会将整个键传递给我的反序列化程序。 有没有一种方法,我可以迫使它转义char,而不必把整个关键与引号。
我正在使用HibernateValidator4.2。0.Final,我正在寻找在错误消息中包含类字段名的最简单方法。 我发现以下线程使用带有Hibernate验证器的定制ResourceBundle。根据这一点,我应该为每个约束注释创建自定义注释,为每个约束注释添加一个属性。 有没有更干净的方法来实现这一点? 以下代码: 生成默认错误:大小必须介于0和5之间。 我希望它是:myField大小必须
问题内容: 我有一个来自遗留系统的悖论表,我需要对其进行单个查询。字段名称中包含空格-即“街道1”。当我尝试在delphi中仅对“街道1”字段制定查询时,出现错误- 关键字使用无效。令牌:1,行号:1 Delphi V7-对象Pascal,标准Tquery对象名称query1。 问题答案: 您需要在查询中为字符串加上表名的前缀。 例如:字段名称为“ Street 1”,表称为客户,选择为:
问题内容: Jackson json注释中以下jax-b注释的等效方式是什么? 我需要生成json而不是xml,并且需要了解在jax-b中等效表示的常规jackson批注。 重命名字段。 使用getter代替字段。 如果json / xml元素名称是Java保留字(例如“ ”,“ ”,“ ”等),则这些功能尤其重要。 因此我们必须将POJO字段分别命名为“ new ”,“ _ public ”,“
问题内容: 我正在尝试在ElasticSearch中运行类似的字段查询: 意思是我正在尝试查找所有文档,其中产品名称在这种情况下是’milk’的子字符串。 我该怎么做? 问题答案: 我会使用一个使用ngrams的自定义分析器。首先创建一个像这样的索引: 然后,您可以索引一些数据: 最后,您可以像这样搜索: 然后您将获得前两个文档,