如何解决通过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,date
order by timestamp asc
)
SELECT
epoch,CASE WHEN element_at(map_values,'field1') IS NOT NULL THEN map_values['filed1'] ELSE NULL END AS field1,'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")
我们非常感谢您的帮助。谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。