首页 > 解决方案 > 如何将字符串格式的查询结果转换为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)```

标签: pythoncsvhive

解决方案


推荐阅读