python将每个文件夹的同名数据提取到一起并按时间排序

 每个文件夹代表一个月份,即3月、4月、5月、6月、7月、8月、9月。每个文件夹都有同样名字的文件,从568.csv开始,分别代表一个点的名称,现在需要将每个点的各个月份提取到一起。

import pandas as pd
import os

i=568
while i<16777:
    file_path = ("G:/Python_/end_9/sewdi")
    if os.path.exists(file_path + "/" + str(i) + ".csv"):
        data_3 = pd.read_csv("G:/Python_/ini_3/sewdi/" + str(i) + ".csv")
        data_4 = pd.read_csv("G:/Python_/dev_4/sewdi/" + str(i) + ".csv")
        data_5 = pd.read_csv("G:/Python_/mid_5/sewdi/" + str(i) + ".csv")
        data_6 = pd.read_csv("G:/Python_/mid_6/sewdi/" + str(i) + ".csv")
        data_7 = pd.read_csv("G:/Python_/mid_7/sewdi/" + str(i) + ".csv")
        data_8 = pd.read_csv("G:/Python_/end_8/sewdi/" + str(i) + ".csv")
        data_9 = pd.read_csv("G:/Python_/end_9/sewdi/" + str(i) + ".csv")

        out_path = os.path.join("G:/Python_/sewdi_12/" + str(i) + ".csv")

if语句用于判断文件是否存在,如果存在再进行以下操作。将3456789月的i.csv文件分别提取出来,为data_3、data_4...以此类推,输出路径为out_path

        data_new = pd.concat([data_3, data_4, data_5, data_6, data_7, data_8, data_9])

合并所有data并存储为data_new

        data = data_new.loc[:, ['EWD', 'EWD_calculated_index', 'time']]

这一步的目的是提取data_new中的三列,其他无关紧要的数据就不要了

        data = data.sort_values(by='time') 

这一步的目的是由于提取的时候是先提取所有年份的3月,再提取所有年的4月,即1980-3、1981-3、1982-3...但我需要一年所有月份在一起,在进行下一年,如1980-3、1980-4...所有对time这一列进行重新排序。

        print(str(i) + "!!!")
        data.to_csv(out_path, index=0, sep=',')
    i += 1

最后导出并进行下一循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值