通过hive将excel文件_将hive中导出的txt文件转化成符合要求的表格

准备工作

将列名加入到表格之中:

echo -e "日期\t新增用户数量" >/liutao/day_new_user.txt

/opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/hive/bin/hive -e "$sql" >> /liutao/day_new_user.txt

grep -v WARN /liutao/day_new_user.txt > /liutao/day_new_user_result.txt //正常的上述命令会有两条warn信息,用正则去掉

rm -rf /liutao/day_new_user.txt

使用py脚本将txt转化成xlsx

#encoding:utf-8

from optparse import OptionParser

import sys

default_encoding = 'utf-8'

if sys.getdefaultencoding() != default_encoding:

reload(sys)

sys.setdefaultencoding(default_encoding)

import pandas as pd

def main(argv):

if len(argv)<3:

print('Usage: python write_xlsx.py /liutao/day_new_user_result.txt /liutao/day_new_user_result.xlsx') //这是使用方法

sys.exit()

INPUT_FILE=argv[1]

OUTPUT_FILE=argv[2]

writer = pd.ExcelWriter(OUTPUT_FILE)

data = pd.read_table(INPUT_FILE,sep='\t')

data.to_excel(writer,'sheet',index=False)

writer.save()

if __name__ == "__main__":

main(sys.argv)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值