file_xlsx.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. """
  2. coding=uft-8
  3. 解.xlsx文件
  4. 单元格ctype的五种类型
  5. ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
  6. """
  7. from loguru import logger
  8. from docs.config import error_number
  9. import pandas as pd
  10. def read_xlsx(file_path: str):
  11. """
  12. 返回拼接好的字符串
  13. :param file_path:
  14. :return:
  15. """
  16. try:
  17. excel_data = pd.read_excel(file_path, keep_default_na=False, sheet_name=None)
  18. tables = []
  19. for sheet_name, table_2d in excel_data.items():
  20. string = '<table>'
  21. for row in table_2d.values:
  22. string += '<tr>'
  23. for clown in row:
  24. clown = str(clown)
  25. string += '<td>' + clown.strip('\n').strip('\t') + '</td>'
  26. string += '</tr>'
  27. string_end = string + '</table>'
  28. tables.append(string_end)
  29. content = "\n".join(tables)
  30. return content, error_number["成功"]
  31. except Exception as e:
  32. logger.error('xlsx文件解析出错')
  33. logger.error(e)
  34. return '', error_number["解析错误"]
  35. if __name__ == '__main__':
  36. file_path = "0.xls"
  37. string = read_xlsx(file_path)
  38. print(string)