将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)

你可能感兴趣的:(Hadoop)