转化:csv批量转为excel
一个需求,
代码如下:
import pandas as pd import os class C_to_EXC: @staticmethod def mkdir_folder(): """创建保存excel的文件夹""" folder_name = "处理的excel" if not os.path.exists(folder_name): os.mkdir(folder_name) def __bianli(self): """遍历csv文件""" # 指定要遍历的目录 directory = r'C:\Users\43701\Desktop\测试\旧的csv' # 获取目录下的所有文件名 file_names = os.listdir(directory) # 遍历文件名列表 for file_name in file_names: yield file_name.strip('.csv') def to_excel(self): """ 将csv转化为excel""" for i in self.__bianli(): try: # 读取CSV文件并将其存储为DataFrame对象 df = pd.read_csv(f'{i}.csv') # 目录指定 # 将DataFrame对象写入Excel文件 df.to_excel(rf'C:\Users\43701\Desktop\测试\新的excel\{i}.xlsx', index=False) print(f'{i}.excel保存完毕') except Exception as e: print(f"{i}csv格式需为utf-8--->", e) def deal_data(self): """对excel文件过滤处理 """ # 读取原始 Excel 文件 """遍历excel文件""" # 指定要遍历的目录 directory = r'C:\Users\43701\Desktop\测试\excel文件' # 获取目录下的所有文件名 file_names = os.listdir(directory) # 遍历文件名列表 for file_name in file_names: file_name = file_name.strip('.xlsx') df = pd.read_excel(f'{file_name}.xlsx') # 将日期列转换为 datetime 格式 df['日期'] = pd.to_datetime(df['日期']) # 筛选指定日期内的数据 start_date = pd.to_datetime('2022-08-29') end_date = pd.to_datetime('2022-12-31') mask = (df['日期'] >= start_date) & (df['日期'] <= end_date) filtered_df = df.loc[mask] # 格式化日期列为所需的格式 filtered_df['日期'] = filtered_df['日期'].dt.strftime('%Y-%m-%d') # 保存筛选后的数据到新的 Excel 文件 with pd.ExcelWriter(f'{file_name}.xlsx') as writer: filtered_df.to_excel(writer, index=False) fire = C_to_EXC() # fire.to_excel() fire.deal_data()
本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/17381317.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步