转发顺序号处理.py 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import pandas as pd
  2. fengchang_map = {
  3. '平陆': 'WOF35900004', '阳曲': 'WOF35100072', '古交': 'WOF35100073', '马家梁': 'WOF35200074',
  4. '太谷': 'WOF35400075', '坡底': 'WOF35900076', '西潘': 'WOF35300077', '芮城': 'WOF35900078',
  5. '右玉': 'WOF34900079', '贺家沟': 'WOF35800080', '石楼': 'WOF35800081', '盂县': 'WOF35800082',
  6. '富风': 'WOF35400075'
  7. }
  8. wind_farms = {
  9. "WOF35900004": "平陆风电场",
  10. "WOF35100072": "阳曲风电场",
  11. "WOF35100073": "古交风电场",
  12. "WOF35200074": "马家梁风电场",
  13. "WOF35400075": "太谷风电场",
  14. "WOF35900076": "坡底风电场",
  15. "WOF35300077": "西潘风电场",
  16. "WOF35900078": "芮城风电场",
  17. "WOF34900079": "右玉风光互补电站",
  18. "WOF35800080": "贺家沟",
  19. "WOF35800081": "石楼风电场",
  20. "WOF35800082": "盂县风光互补电站"
  21. }
  22. def generate_sacada_conf(all_df, cedian_df):
  23. cedian_df['场站标准化编号'] = cedian_df['场站'].map(fengchang_map)
  24. cedian_df['场站'] = cedian_df['场站标准化编号'].map(wind_farms)
  25. cedian_df['风机号'] = cedian_df['风机号'].apply(lambda x: int(x[-3:]))
  26. df2404 = all_df[all_df['转发逻辑设备ID号'] == '转发到二区2404 ']
  27. df2405 = all_df[all_df['转发逻辑设备ID号'] == '转发到二区2405 ']
  28. df2404 = pd.merge(df2404, cedian_df, left_on='遥测ID号', right_on='遥测名称', how='inner')
  29. df2405 = pd.merge(df2405, cedian_df, left_on='遥测ID号', right_on='遥测名称', how='inner')
  30. del df2404['Unnamed: 0']
  31. del df2405['Unnamed: 0']
  32. ## 顺序号,场站,场站标准化编号,风机号,遥测别名,标准化中文,标准化英文
  33. name_dict = {
  34. "转发顺序号": "顺序号",
  35. "en_name": "标准化英文"
  36. }
  37. df2404.rename(columns=name_dict, inplace=True)
  38. df2405.rename(columns=name_dict, inplace=True)
  39. select_cols = ["顺序号", "遥测ID号", "场站", "场站标准化编号", "风机号", "遥测别名", "标准化中文", "标准化英文"]
  40. df2404[select_cols].to_excel('../conf/测点表-2404.xlsx', index=False)
  41. df2405[select_cols].to_excel('../conf/测点表-2405.xlsx', index=False)
  42. def generate_warn_fault_conf(all_df: pd.DataFrame, warn_fault_df: pd.DataFrame):
  43. del warn_fault_df['顺序号']
  44. df2406 = all_df[all_df['转发逻辑设备ID号'] == '转发到二区2406 ']
  45. df2406['顺序号'] = df2406['转发顺序号']
  46. df2406.drop_duplicates(inplace=True)
  47. df2406 = pd.merge(df2406, warn_fault_df, left_on='遥测ID号', right_on='遥测名称', how='inner')
  48. select_cols = ["顺序号", "场站", "场站标准化编号", "风机号", "遥测名称", "遥测别名"]
  49. df2406[select_cols].to_excel('../conf/故障报警测点-2406.xlsx', index=False)
  50. def generate_warn_fault_mc_version(mc_version_df):
  51. mc_version_df['场站标准化编号'] = mc_version_df['场站'].map(fengchang_map)
  52. mc_version_df['场站'] = mc_version_df['场站标准化编号'].map(wind_farms)
  53. mc_version_df.to_excel('../conf/主控版本-2406.xlsx', index=False)
  54. if __name__ == '__main__':
  55. all_df = pd.read_excel(r'C:\Users\wzl\Desktop\fault_20240423.xlsx')
  56. all_df['遥测ID号'] = all_df['遥测ID号'].apply(lambda x: x.replace('遥测定义表', '').replace('遥测值', '').strip())
  57. all_df = all_df[['遥测ID号', '转发逻辑设备ID号', '转发顺序号']]
  58. # ## 配置scada 配置文件
  59. # cedian_df = pd.read_excel(r'C:\Users\wzl\Desktop\中广核104测点\0416部署需要\最终测点配置.xlsx')
  60. # generate_sacada_conf(all_df, cedian_df)
  61. ## 配置故障报警 配置文件
  62. warn_fault_df = pd.read_excel(r'D:\project\energy-online-data\conf\故障报警测点.xlsx')
  63. generate_warn_fault_conf(all_df, warn_fault_df)
  64. ## 主控版本处理
  65. # mc_version_df = pd.read_excel(r'D:\project\energy-online-data\conf\主控版本.xlsx')
  66. # generate_warn_fault_mc_version(mc_version_df)