import pandas as pd
import datetime
from odps.df import DataFrame
from odps import ODPS
import json
import csv
# 包含起始
id1 = 'ak'
key = 'aks'
point = 'www'
project = 'ods'
odps = ODPS(id1, key, project, endpoint=point)
data1 = DataFrame(odps.get_table('tb_ali_table_info_a_d'))
data1 = data1.to_pandas()
print('11111')
list1 = data1['project']
list2 = data1['middle_table_name']
list3 = data1['table_comment']
list4 = data1['is_partitioned']
list5 = data1['column_name']
list6 = data1['life_cycle']
list_data = []
for i in range(len(list1)):
data = json.loads(list5[i])
list11 = data['cols']
for j in range(len(list11)):
name = list11[j]['name']
try:
type1 = list11[j]['type']
except:
type1 = ''
try:
comment = list11[j]['comment']
except:
comment = ''
list_data.append([list1[i],list2[i],list3[i],list4[i],name,type1,comment,list6[i]])
print('wan')
# with open('test.csv', 'w', newline='', encoding='utf-8') as f1:#/root/python_meng/chengxu/
# w1 = csv.writer(f1)
# print(len(list_data))
# for i in range(len(list_data)):
# w1.writerow(list_data[i])
today = datetime.datetime.today()
oneday = datetime.timedelta(1)
yesterday = today - oneday
yesterday, time12 = str(yesterday).split(' ')
yesterday = yesterday.replace('-', '')
print('data_date={}'.format(yesterday))
id1 = 'ak'
key = 'aks'
point = 'www'
project = 'dwd'
odps1 = ODPS(id1, key, project, endpoint=point)
t = odps1.get_table('t_ali_table_info_a_d') # 获取读写表权限
patition = 'data_date={}'.format(yesterday)
# 先清空这个分区的数据
t.delete_partition('data_date={}'.format(yesterday), if_exists=True)
print('开始写入数据')
with t.open_writer(patition, create_partition=True) as writer:
print('kaishi')
for i in range(len(list_data)):
try:
writer.write(list_data[i])
except:
pass
# list_row = result[i]
# for j in range(len(list_row)):
# if list_row[j] == 'null':
# list_row[j] = '-1'
# writer.write(list_row)
#writer.write(result)
b_t = datetime.datetime.now()
print('wan')