Python知识点——遍历文件、excel操作、数据合并操作

目标问题

本文中主要是将相同后缀的多个文件合并到excel中,通过此思路可以解决:

  • 完成不同类型的文件向excel的操作。
  • 完成不同sheet的excel操作。

原始数据

1. 文件夹内容
文件内容
2. 单个文件内容,以14.G1125为例
数据结构

最终输出

1 最终效果
以站点命名的数据集合
2 单个文件内容
说明:相同站点放到同一个excel中,不同日期放到不同的sheet中。
相同站点放到同一个excel中,不同日期放到不同的sheet中。

代码内容

import os
import xlwt
'''
Author:zflyee
思路:
1. 先对所有文件名进行收集并切分后去重
2. 再找到所有后缀文件名的路径
3. 做循环读入数据,同一个excel的不同sheet里面
'''
# 获取所有的文件后缀名
def file_name(file_dir):
    name_suffix=[] # 创建文件后缀列表
    file_path=[]   # 创建文件路径空列表
    for root, dirs, files in os.walk(file_dir): # 遍历文件,返回一个三元组
        # 获取文件所有路径
        for file in files:
            file_path.append(os.path.join(root,file)) # 拼接文件路径
            L=file.split('.')[1]                      # 得到文件的后缀
            if L not in name_suffix:                  # 去重
                name_suffix.append(L)
    return file_path,name_suffix                      # 返回文件名路径与后缀路径

def main():
    ## 汇总同后缀名文件
    dir_path='W:\Solar Radiation\Data\Data_original\Temp_data\秒级数据' # 设置文件路径
    File_Path,Name_Suffix=file_name(dir_path) #得到所有文件名的路径 和 后缀名的列表
    # print(Name_Suffix)
    ## 进行数据处理
    for upfile in Name_Suffix: # 遍历所有后缀
        res_path=r'W:\Solar Radiation\Data\Data_original\Temp_data\res/'+upfile+'.xls' #以后缀为文件名,然后设置文件输出路径
        DataWriter=xlwt.Workbook(style_compression=0) # 创建一个excel
        for file in File_Path: # 遍历所有文件路径
            data_name = os.path.basename(file).split(sep='.')[0]  # 得到每个数据文件的名称
            data_suffix = os.path.basename(file).split(sep='.')[1] # 得到每个数据文件的后缀
            # 核心部分
            if data_suffix==upfile: # 对比数据文件后缀与列标中的后缀
                sheet = DataWriter.add_sheet(data_name, cell_overwrite_ok=True) # 在打开的excel中增加数据文件的sheet
                f=open(file, encoding='utf-8')
  • 4
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Better_Zflyee

交个朋友,多多交流~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值