123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import pandas as pd
- class CSVFileUtil:
- def __init__(self, filepath):
- """
- 初始化CSV工具类
- :param filepath: CSV文件的路径
- """
- self.filepath = filepath
- def read_csv(self):
- """
- 读取CSV文件
- :return: 返回DataFrame对象
- """
- return pd.read_csv(self.filepath)
-
- def read_csv_columns(self,useColumns):
- """
- 读取CSV文件
- :return: 返回DataFrame对象
- """
- return pd.read_csv(self.filepath,usecols=useColumns)
- def write_csv(self, data, dest_path):
- """
- 将数据写入CSV文件
- :param data: DataFrame对象或可转换为DataFrame的数据
- :param dest_path: 保存CSV文件的路径
- """
- if not isinstance(data, pd.DataFrame):
- data = pd.DataFrame(data)
- data.to_csv(dest_path, index=False)
- def select_and_save_columns(self, columns, dest_path):
- """
- 选取指定的列并保存为新的CSV文件
- :param columns: 要选取的列名列表
- :param dest_path: 保存新CSV文件的路径
- """
- df = self.read_csv_columns(columns)
- self.write_csv(df, dest_path)
- # 使用示例
- if __name__ == "__main__":
- filepath = '/path/to/your/original.csv' # 替换为你的CSV文件路径
- dest_path = '/path/to/your/selected_columns.csv' # 替换为你想保存选取列后的CSV文件路径
- columns = ['时间','iTempOutdoor_1sec','iTempNacelle_1sec','iGenPower','iRotorSpeedPDM','iGenSpeed','iWindSpeed_real',
- 'iPitchAngle1','iPitchAngle2','iPitchAngle3','iNacellePositionTotal','iwindDirection','iVaneDiiection',
- 'iActivePoweiSetPointValue','iReactivePower','iKWhThisDay_h','iVibrationY','iVibrationZ','iTemp1GearOil_1sec',
- 'iTempRotorBearA_1sec','iTempGearBearNDE_1sec','iTempGearBearDE_1sec','iTempGenBearDE_1sec','iTempGenBearNDE_1sec',
- 'iTempGenStatorU_1sec','iTempHub_1sec','iTempCntr_1sec','WT_Runcode','WT_Faultcode','iTempRotorBearA_1sec'] # 替换为你想选取的列名
- tool = CSVFileUtil(filepath)
- tool.select_and_save_columns(columns, dest_path)
|