python - 从通过 Python 脚本运行的 Presto 查询返回的打印标题
问题描述
我正在尝试运行 presto 查询,它在 DB Visualizer(数据库查询工具)中成功运行。通过 Python 脚本运行相同的查询后,它会按原样打印我的文件中的结果,但无法将标题写入我的 CSV 文件中。
谁能告诉我如何在文件中打印我的动态标题?
注意:我的标题是动态的,将基于 Presto 查询生成,因此我无法对标题进行硬编码。
我的代码如下:
from sys import argv
import argparse
from pyhive import presto
import prestodb
import pandas as pd
connection = presto.connect(host='XXXX', port=8889, username='test')
cur = connection.cursor()
print('Connection Established')
result = cur.execute("""
with map_date as
(
SELECT
box,
epoch,
timestamp,
date,
map_agg(signalName, value) as map_values
from hive.test.table1
where box = 'A'
and (time >= 1596045600 and time <= 1596045720)
and signalName in ('field1','field2')
GROUP BY box,epoch,timestamp,date
order by timestamp asc
)
SELECT
epoch
, timestamp
, CASE WHEN element_at(map_values, 'field1') IS NOT NULL THEN map_values['filed1'] ELSE NULL END AS field1
, CASE WHEN element_at(map_values, 'field2') IS NOT NULL THEN map_values['filed2'] ELSE NULL END AS field2
, box
, date AS date
from map_date
""" )
rows = cur.fetchall()
print('Fetching Result')
print('Query Finished')
fp = open('/Users/xyz/Desktop/Python/file.csv', 'w')
print('File Created')
myFile = csv.writer(fp)
myFile.writerows(rows)
cur.close()
connection.close()
print("Connection Closed")
任何帮助深表感谢。谢谢!
解决方案
推荐阅读
- json - 是否可以在 JavaScript 函数中使用 JsonPath 之类的东西来浏览 json?
- c# - 如何将checkedListBox中列出的目录复制到另一个目录?
- postgresql - 如何将未知长度的相同字符链从字符串替换为唯一出现或它?
- amazon-web-services - 仅在收集到固定数量的数据后才执行 AWS Lambda(具有多个数据)
- python - 访问 Flask 测试响应中的所有 cookie
- maven - 库项目的存储库单元测试
- javascript - npm“crypto”模块的Nodejs加密问题
- javascript - 我使用 AngularJS 的 js 文件有问题:“未捕获的错误:[$injector:modulerr]”
- angular - Angular:如何在延迟加载的路由中使用外部模块
- r - 二元运算符错误的非数字参数