清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
import sys
import xlsxwriter
import prep
import os
import leave
import log
reload(sys)
sys.setdefaultencoding("utf-8")
def fill_excel( worksheet ,cell, content):
worksheet.write(cell, content)
def get_data( catagory='calc_original_sample' ):
days = prep.get_days(8)
z = []
for day in days:
if catagory == 'calc_original_sample':
data = prep.calc_original_sample(day)
else:
data = prep.cal_der_sample(day)
z.append( dict(data ))
return z
def get_comming_data():
days_dict =leave.seven_day_comming_calc()
days_range = days_dict.keys()
days_range.sort()
days_range.reverse()
z = []
for i in days_range:
v = days_dict.get(i)
z.append( v )
l =[]
for i in z:
d = {}
for j in i:
k = j.get("src_name")
v = j.get("num")
d[k] = v
l.append(d)
return l
def generate_excel( excel_sheet, data, begin_row=3):
z = data
source_total = set()
source = [i.keys() for i in z]
for i in source:
if i:
for j in i:
source_total.add(j)
column = 'A'
row = begin_row+1
source_total = list (source_total)
source_total.sort()
source_len = len(source_total)
for i in source_total:
fill_excel(excel_sheet ,column + str(row), i)
row +=1
row = begin_row
#for i in z:
# calc_sum = "=SUM(%s%d:%s%d)" %(column,row, column, row + source_len)
# fill_excel(excel_sheet, column+str(row) , calc_sum)
#row=begin_row+1
column = chr(ord(column)+1)
for i in z:
calc_sum = "=SUM(%s%d:%s%d)" %(column,row+1, column, row + source_len)
fill_excel(excel_sheet, column+str(row) , calc_sum)
row = begin_row +1
for j in source_total:
v = i.setdefault(j,0)
fill_excel( excel_sheet, column+str(row) , v)
row+=1
column = chr(ord(column)+1)
return row
def today_func():
import time
gmt = time.gmtime()
today = map( str, [gmt.tm_year, gmt.tm_mon, gmt.tm_mday])
today = "_".join( today )
return today
def generate_file(filename = "test.xlsx"):
if not filename.endswith(".xlsx"):filename +=".xlsx"
workbook = xlsxwriter.Workbook( filename )
worksheet = workbook.add_worksheet()
worksheet.set_column('A:A', 20)
source_sample="\xe5\x8e\x9f\xe5\xa7\x8b\xe6\xa0\xb7\xe6\x9c\xac" #in unicode chinese char
# in unicode chinese char
derivate_sample='\xe5\xa4\x84\xe7\x90\x86\xe5\x8c\x85\xe6\x8b\xac\xe8\xa1\x8d\xe7\x94\x9f\xe6\xa0\xb7\xe6\x9c\xac'
comming_sample ='\xe6\x9d\xa5\xe6\xba\x90\xe6\xa0\xb7\xe6\x9c\xac'
worksheet.write(0,1, source_sample)
days = prep.get_days(8)
#print(days)
count = 0
column = 'A'
for day in days:
count = count +1
column = chr(ord(column)+1)
co = column + ":" + column
worksheet.set_column(co , 15)
worksheet.write(0, count, str(day))
excel_sheet = worksheet
original_sample_count = get_data('calc_original_sample')
print(original_sample_count)
last_row = generate_excel ( excel_sheet, original_sample_count, begin_row=3)
#fill_excel( excel_sheet , 'A' + str(last_row), derivate_sample)
last_row +=1
fill_excel( excel_sheet,'A' + str(last_row), derivate_sample)
derivate_sample_count = get_data('derivate')
last_row = generate_excel(excel_sheet, derivate_sample_count, last_row)
fill_excel( excel_sheet,'A' + str(last_row), comming_sample)
last_row += 1
incomming_sample_stat = get_comming_data()
last_row = generate_excel(excel_sheet, incomming_sample_stat, last_row)
workbook.close()
def gene_file():
filename = "/dev/shm/" + today_func() + ".xlsx"
if os.path.exists(filename):
os.unlink(filename)
generate_file( filename )
return filename
if __name__ == "__main__":
gene_file()