You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
2.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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