您的位置:首页 > 新闻 > 会展 > 保定网站制作设计哪个公司好_建筑网校排名前十的品牌_优化推广网站怎么做_东莞做网站推广

保定网站制作设计哪个公司好_建筑网校排名前十的品牌_优化推广网站怎么做_东莞做网站推广

2025/8/25 4:12:27 来源:https://blog.csdn.net/webcai_3/article/details/145940153  浏览:    关键词:保定网站制作设计哪个公司好_建筑网校排名前十的品牌_优化推广网站怎么做_东莞做网站推广
保定网站制作设计哪个公司好_建筑网校排名前十的品牌_优化推广网站怎么做_东莞做网站推广

闲来无事浏览到《【办公自动化】使用Python批量处理Excel文件并转为csv文件》这篇博文,关于多层目录Excel转Csv在处理过程中略显繁复,而且灵活度不高,代码如下:

import pandas as pd
import os
from datetime import datetime
# 基础文件夹路径
base_dir = './sample_data'# 循环遍历到每一个excel文件并修改其文件类型为csv
for first_floor in os.listdir(base_dir):  # 遍历第一层second_floor_dir = base_dir+'/'+first_floor  # 获取第二层的文件路径for second_floor in os.listdir(second_floor_dir):  # 遍历第二层third_floor_dir = base_dir+'/'+first_floor+'/'+second_floor  # 获取第三层的文件路径for third_floor in os.listdir(third_floor_dir):  # 遍历第三层fourth_floor_dir = base_dir+'/'+first_floor+'/'+second_floor+'/'+third_floor  # 获取第四层的文件路径for file_dir in os.listdir(fourth_floor_dir):  # 遍历第四层file_name = file_dir.split('.')[0]  # 获取excel文件名称file_suffix = file_dir.split('.')[1]  # 获取excel文件后缀print(fourth_floor_dir)if file_suffix=='xlsx' or file_suffix=='xls': # 判断文件是否是excel文件df = pd.read_excel(fourth_floor_dir+'/'+file_dir)  # 读取excel文件df['Time'] = pd.to_datetime(df['Time'])df['Time'] = df['Time'].apply(lambda x:datetime.strftime(x,'%Y-%m-%d %H:%M:%S'))df.to_csv(fourth_floor_dir+'/'+file_name+'.csv',index=False)  # 将excel文件保存为csv文件os.remove(fourth_floor_dir+'/'+file_dir)  # 删除原来的excel文件

摘自《【办公自动化】使用Python批量处理Excel文件并转为csv文件》第二段“批量处理Excel文件并转为csv文件”

觉得此案例中处理过程比较死板,可以采用更简洁的代码完成此项工作,思路如下:首先可以通过遍历得到指定目录及其子目录下所有的Excel文件列表,然后再逐个将列表内的Excel文件转换为CSV保存到同一目录下即可。

完整代码如下:

import os
from pathlib import Path
import pandas as pd# 遍历目录得到Excel表格列表
def find_table_files(directory, extensions=('.xlsx', '.xls')):table_files = []for root, dirs, files in os.walk(directory):for file in files:if file.endswith(extensions):table_files.append(os.path.join(root, file))return table_files# 逐个将列表里表格转换为CSV文件
directory_path = f'd:\\xls'
files = find_table_files(directory_path)
for file in files:df = pd.read_excel(file)df.to_csv(f'd:\\xls\\ToCsv\\{Path(file).stem}.csv', index=False)
print(f'执行完毕')

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com