当我运行下面的查询时,它会创建一个名为 \xe2\x80\x98mycsvfile\xe2\x80\x99 的文件。但是,有没有办法在创建 CSV 文件时添加当前日期和时间戳?例如,如果我现在运行此查询,则文件应命名为 mycsvfile20171012 \xe2\x80\x93 10:00:00 (类似的名称)。
\n\n有人可以编辑我的代码并告诉我如何做到这一点吗?
\n\n我的代码:
\n\nfrom elasticsearch import Elasticsearch\nimport csv\n\nes = Elasticsearch(["9200"])\n\n# Replace the following Query with your own Elastic Search Query\nres = es.search(index="search", body=\n {\n "_source": ["DTDT", "TRDT", "SPLE", "RPLE"],\n "query": {\n "bool": {\n "should": [\n {"wildcard": {"CN": "TEST1"}}\n\n ]\n }\n }\n}, size=10)\n\n\n\nheader_names = { \'DTDT\': \'DATE\', \'TRDT\': \'TIME\', ...}\n\nwith open(\'mycsvfile.csv\', \'w\') as f: # Just use \'w\' mode in 3.x\n header_present = False\n for doc in res[\'hits\'][\'hits\']:\n my_dict = …Run Code Online (Sandbox Code Playgroud) 创建 CSV 文件时,列不在我想要的正确位置。例如,“Period”列(变量是“RD”)是文件中的第二列等等。
有没有办法将每列的位置设置到我想要的位置?
我的代码:
from datetime import datetime
from elasticsearch import Elasticsearch
import csv
es = Elasticsearch(["9200"])
res = es.search(index="search", body=
{
"_source": ["VT","NCR","N","DT","RD"],
"query": {
"bool": {
"must": [{"range": {"VT": {
"gte": "now/d",
"lte": "now+1d/d"}}},
{"wildcard": {"user": "mike*"}}]}}},size=10)
csv_file = 'File_' + str(datetime.now().strftime('%Y_%m_%d - %H.%M.%S')) + '.csv'
header_names = { 'VT': 'Date', 'NCR': 'ExTime', 'N': 'Name', 'DT': 'Party', ' RD ': 'Period'}
with open(csv_file, 'w', newline='') as f:
header_present = False
for doc in res['hits']['hits']:
my_dict = doc['_source'] …Run Code Online (Sandbox Code Playgroud)