我有 mysql 数据库,其中存储了许多任务以及持续时间、开始时间和其他类型的字段。
结构或多或少类似于:
taskId | taskName | startTime | duration | server...
对我来说真正重要的是接受任务,将每个任务的所有持续时间放在以 taskName 开头的每个任务的不同列中,并在最后一行存储该持续时间的平均值,或者平均值的公式,我不是确定什么会更好。
我是脚本方面的菜鸟,所以我被困在处理 python 中的 csv.readers 中。我的想法是对每个任务进行不同的查询并将它们写入列。然后读取 csv,进行新查询并附加新数据。我不认为这是最好的方法,但我不知道我还能怎么做。
我让您拥有我所拥有的,但请随时提供新的更好的方法:):
fp = open ("priors.csv","w") file = csv.writer(fp)
cur = con.cursor()
cur.execute("SELECT duration FROM table WHERE jobname = 'one_task'")
rows=cur.fetchall()
file.writerow('one_task')
file.writerows(rows)
fp.close()
######################################################################################
cur.execute("SELECT duration FROM table WHERE jobname = 'different_task ")
rows_to_write=cur.fetchall()
fprd = open ("priors.csv","rb")
file_rd = csv.reader(fprd)
file_rd_ls = []
for row in file_rd:
print row
file_rd_ls.append(row)
fprd.close()
fp = open ("priors.csv","w")
file_wr = csv.writer(fp)
count = 1
r_t_w_len = len(rows_to_write)
fl_rd_len = len(file_rd_ls)
result_list = list(rows_to_write)
dumm_string = ""
if r_t_w_len > fl_rd_len:
for i in range(fl_rd_len):
dumm_string = row + ',' + str(rows_to_write[count])
result_list.insert(count, dumm_string)
count+=1
while count <= (r_t_w_len + 1):
dumm_string = '""' + ',' + str(rows_to_write[count])
result_list.insert(count, dumm_string)
else:
for i in range(fl_rd_len):
if count <= (r_t_w_len + 1):
dumm_string = row + ',' + str(rows_to_write[count])
result_list.insert(count, dumm_string)
count+=1
else:
result_list.insert(count, row)
rows_to_write = tuple(result_list)
file_rd.writerows()
fp.close()
如您所见,任务的名称没有被编号,所以我不能只是循环并接受它们。我只是从前两个任务开始,但有超过 100 个不同的任务。
PS:我知道我没有阅读列表中的简历,我现在在哪里。
PS2:我仍然没有攻击平均计算,因为我无法正确读取数据库。