python - 如何将字符串格式的查询结果转换为python中的csv
问题描述
如何将使用 stdout.read() 读取的 hive 中的查询结果转换为 csv 或更美观的格式。
当我从蜂巢读取时,我没有得到列标题,数据将是如下所示的字符串:
-3056 2018-03-29 143444 11 0.84 51 0.95 60046-5065 0.99 2000 2 4 109736873 2019-04-02 06:53:54 2019-04-02 06:53:54 I 109736873 Y 105586013
尝试使用空格分隔,但没有太大帮助。由于列数将根据情况动态变化。
从蜂巢读取:
for p in processes:
p.wait()
output = output + ' ' + p.stdout.read()
error_data = p.stderr.read()```
trying to parse to csv:
with open("mismatch.csv",'wb') as f:
w = csv.writer(f, lineterminator='/n')
for line in validate_result:
w.writerow(line)```
解决方案
推荐阅读
- swift - 如何解决扩展中的属性和类中的属性之间的歧义?
- java - javax.crypto.AEADBadTagException:AES/GCM/无填充加密器/解密器的标签不匹配
- swift - 使用 Webhook 从远程服务订阅事件
- java - Spring Boot 应用程序在 localhost 上运行,但在外部 Tomcat 上返回 404
- r - 是否有可用于连接到 IPV6Adress:Port 的 R 套接字功能?
- postgresql - 无法在 Ubuntu 18.04 上启动 postgresql - `无法绑定 IPv4 地址“127.0.0.1”:地址已在使用中`
- python - 如何使用 Python 附加我的数字签名 PDF 的公钥?
- amazon-web-services - 为什么使用 api 映射的带有 http api 的 api 网关失败并显示 404?
- haskell - Haskell 的“Const”函子是否类似于范畴论中的常数函子?
- kotlin - Kotlin 中的简洁 if else