read_file.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import openpyxl
  2. from utils.openai_api import get_tokens_length
  3. def read_xlsx_file(file_name):
  4. workbook = openpyxl.load_workbook(file_name)
  5. sheet = workbook.active
  6. data = []
  7. for row in sheet.iter_rows(min_row=2, values_only=True):
  8. data.append({
  9. '发表时间': row[1],
  10. '作者': row[2],
  11. '评级': row[3],
  12. '标题': row[4],
  13. '内容': row[5]
  14. })
  15. return data[2:]
  16. def process_data(max_length,
  17. data,
  18. message,
  19. length,
  20. count_now=0,
  21. reply=""):
  22. temp = []
  23. result_message = ""
  24. data = data[count_now:]
  25. while len(data) > 0:
  26. temp_message = message
  27. ele = data.pop(0)
  28. temp_string = "({}, {})".format(ele["标题"], ele["内容"])
  29. temp.append(temp_string)
  30. temp_message = temp_message.format(
  31. reply_before=reply,
  32. comment_num=count_now,
  33. comment_num_start=count_now + 1,
  34. comment_num_end=count_now + len(temp),
  35. all_num=length,
  36. data_string="[{}]".format(", ".join(temp)))
  37. if len(temp_message) > max_length:
  38. break
  39. result_message = temp_message
  40. return result_message, len(temp)