123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import openpyxl
- from utils.openai_api import get_tokens_length
- def read_xlsx_file(data_source, file_name):
- workbook = openpyxl.load_workbook(file_name)
- sheet = workbook.active
- data = []
- if data_source == "七麦":
- for row in sheet.iter_rows(min_row=2, values_only=True):
- data.append({
- '发表时间': row[1],
- '作者': row[2],
- '评级': row[3],
- '标题': row[4],
- '内容': row[5]
- })
- return data[2:]
- else:
- for row in sheet.iter_rows(min_row=1, values_only=True):
- data.append({
- '发表时间': row[0],
- '作者': row[1],
- '评级': row[2],
- '内容': row[3]
- })
- return data[2:]
- def process_data(data_source,
- max_length,
- data,
- message,
- length,
- count_now=0,
- reply=""):
- temp = []
- result_message = ""
- data = data[count_now:]
- while len(data) > 0:
- temp_message = message
- ele = data.pop(0)
- if data_source == "七麦":
- temp_string = "({}, {})".format(ele["标题"], ele["内容"])
- else:
- temp_string = "{}".format(ele["内容"])
- temp.append(temp_string)
- temp_message = temp_message.format(
- reply_before=reply,
- comment_num=count_now,
- comment_num_start=count_now + 1,
- comment_num_end=count_now + len(temp),
- all_num=length,
- data_string="[{}]".format(", ".join(temp)))
- if len(temp_message) > max_length:
- break
- result_message = temp_message
- return result_message, len(temp)
|