|
|
import json
|
|
|
import os
|
|
|
import sys
|
|
|
|
|
|
from natsort import natsorted
|
|
|
from openpyxl import Workbook
|
|
|
from openpyxl.styles import Alignment
|
|
|
from openpyxl.styles import Border, Side, PatternFill
|
|
|
from openpyxl.styles import Font
|
|
|
from openpyxl.utils import get_column_letter
|
|
|
|
|
|
from Util.PgUtil import *
|
|
|
from openpyxl import load_workbook
|
|
|
|
|
|
# pip install natsort
|
|
|
# pip install openpyxl
|
|
|
from Util.PgUtil import *
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
file_path = '绘鸭AI模板ForFillSql.xlsx'
|
|
|
|
|
|
sql = 'truncate table t_hy_model_prompt'
|
|
|
execute_modify(sql)
|
|
|
|
|
|
# 加载工作簿
|
|
|
wb = load_workbook(file_path)
|
|
|
|
|
|
# 选择活动的工作表
|
|
|
ws = wb.active
|
|
|
# 初始化上一行的值列表,初始为空
|
|
|
last_row_values = []
|
|
|
|
|
|
# 遍历工作表中的所有行
|
|
|
idx = 0
|
|
|
for row in ws.iter_rows(values_only=True):
|
|
|
idx = idx + 1
|
|
|
if idx == 1:
|
|
|
continue
|
|
|
# 为当前行创建一个新列表
|
|
|
current_row_values = []
|
|
|
|
|
|
# 遍历当前行的每个单元格
|
|
|
for col_idx, cell_value in enumerate(row):
|
|
|
# 如果单元格的值是None,并且不是第一行(第一行没有上一行的值)
|
|
|
if cell_value is None and last_row_values:
|
|
|
# 使用上一行相同列的值替换当前单元格的值
|
|
|
current_row_values.append(last_row_values[col_idx])
|
|
|
else:
|
|
|
# 如果单元格的值不是None,添加到当前行的值列表中
|
|
|
current_row_values.append(cell_value)
|
|
|
|
|
|
model_id = int(current_row_values[0])
|
|
|
prompt_template = current_row_values[3]
|
|
|
prompt_en = current_row_values[4]
|
|
|
# 先检查有几个,然后+1就是应该是第几个
|
|
|
sql = 'select * from t_hy_model_prompt where model_id=' + str(model_id)
|
|
|
results = execute_query(sql)
|
|
|
prompt_id = len(results) + 1
|
|
|
|
|
|
sql = "insert into t_hy_model_prompt(model_id,prompt_id,prompt_template,prompt_en) values(%s,%s,%s,%s)"
|
|
|
params = (model_id, prompt_id, prompt_template, prompt_en)
|
|
|
execute_modify(sql, params)
|
|
|
# 更新上一行的值
|
|
|
last_row_values = current_row_values
|
|
|
|
|
|
wb.close()
|