writeDataToCurrentLibrary.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import datetime
  2. import psycopg2
  3. import json
  4. def get_ts_time():
  5. current_time = datetime.datetime.now()
  6. timestamp = current_time.timestamp()
  7. return int(timestamp)
  8. # 获取 Unix 时间戳
  9. def get_current_day_library_name():
  10. timestamp = get_ts_time()
  11. # 将时间戳转换为 datetime 对象
  12. date_obj = datetime.datetime.fromtimestamp(timestamp)
  13. # 格式化日期为 YYYYMMDD 格式
  14. formatted_date = date_obj.strftime("%Y%m%d")
  15. # 拼接字符串
  16. result_str = "xsinsert" + formatted_date
  17. return result_str
  18. def writeDataToCurrentDay_Library(data):
  19. # 连接到数据库
  20. with open('db_params.json', 'r') as f:
  21. db_params = json.load(f)
  22. db_params = db_params['test']
  23. #建立长连接
  24. db_name = get_current_day_library_name()
  25. ts_time = get_ts_time()
  26. conn = psycopg2.connect(**db_params)
  27. cursor = conn.cursor()
  28. # 表名
  29. db_name = get_current_day_library_name()
  30. # 遍历字典中的每个键值对
  31. for column_name, value in data.items():
  32. cursor.execute(f"""
  33. INSERT INTO {db_name} (nm, v,ts,createtime,factoryname,devicename,type,gatewaycode)
  34. VALUES (%s, %s,{ts_time},{ts_time},'lfgawqyq','plc3',4,'SN2_30101_002209_00014')
  35. """, (column_name, value))
  36. conn.commit()
  37. # 获取查询结果
  38. # 打印结果
  39. # 关闭游标和连接
  40. cursor.close()
  41. conn.close()
  42. # cursor.execute(f"""SELECT 1 FROM {db_name} """)
  43. # exists = cursor.fetchone()
  44. #
  45. # # 如果数据库不存在,则创建数据库
  46. # if not exists:
  47. # cursor.execute(f"CREATE DATABASE {db_name}")
  48. #
  49. # # 创建表
  50. # # 如果不存在,插入新行
  51. # cursor.execute("""
  52. # INSERT INTO realtimedata (nm, v,ts,createtime,factoryname,devicename,type,gatewaycode)
  53. # VALUES (%s, %s,get_ts_time(),get_ts_time(),'lfgawqyq','plc10','SN2_30101_002209_00014')
  54. # """, ('Ifgawqyq_plc3_Tag22', '3'))
  55. # data ={"lfgawqyq_plc11_Tag23": 40.234, "lfgawqyq_plc11_Tag124": 40.264, "lfgawqyq_plc11_Tag25": 3.0, "lfgawqyq_plc11_Tag122": 40.264, "lfgawqyq_xn_cscod": 4.689, "lfgawqyq_xn_cstn": 10.503}
  56. #
  57. # writeDataToCurrentDay_Library(data)