extract_dbdata_to_csv.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import pandas as pd
  2. from service.common_connect import trans
  3. wind_farms = {
  4. "WOF35900004": "平陆风电场",
  5. "WOF35100072": "阳曲风电场",
  6. "WOF35100073": "古交风电场",
  7. "WOF35200074": "马家梁风电场",
  8. "WOF35400075": "太谷风电场",
  9. "WOF35900076": "坡底风电场",
  10. "WOF35300077": "西潘风电场",
  11. "WOF35900078": "芮城风电场",
  12. "WOF34900079": "右玉风光互补电站",
  13. "WOF35800080": "贺家沟",
  14. "WOF35800081": "石楼风电场",
  15. "WOF35800082": "盂县风光互补电站"
  16. }
  17. # types = ['minute', 'second', 'warn', 'fault']
  18. types = ['warn', 'fault']
  19. def check_exist_table(table_name):
  20. sql = f"select count(1) as count from information_schema.tables where table_name= '{table_name}'"
  21. print(sql)
  22. data = trans.execute(sql)[0]['count']
  23. return int(data) > 0
  24. file_dir = r'C:\Users\wzl\Desktop\中广核104测点\20250513\data'
  25. def get_data(table_name, name, type):
  26. col = 'begin_time'
  27. if type in ['minute', 'second']:
  28. col = 'time_stamp'
  29. sql = f"select * from {table_name} where {col} > '2025-05-10 00:00:00'"
  30. df = pd.read_sql_query(sql, con=trans.get_engine())
  31. df.to_csv(f'{file_dir}\\{name}_{type}.csv', index=False, encoding='utf-8')
  32. for wind, name in wind_farms.items():
  33. for now_type in types:
  34. table_name = f'{wind}_{now_type}'
  35. if check_exist_table(table_name):
  36. get_data(table_name, name, now_type)