txt批量生成csv,txt逐小时数据4列,日期、时刻、降水量、流量。分隔符有空格和Tab键。csv为逐日数据,包含日期、日降水量、流量。

该代码段展示了如何使用Python的Pandas库读取当前目录下的所有TXT文件,将内容转换为DataFrame,合并日期和时间列,然后按日进行数据聚合。通过resample方法或groupby函数处理缺失日期,最后将结果保存为CSV文件。
摘要由CSDN通过智能技术生成

import os
import pandas as pd

# 获取当前目录下所有txt文件
file_list = [f for f in os.listdir('./') if f.endswith('.txt')]

# 循环处理每个txt文件
for file in file_list:
    # 读取txt文件为DataFrame,四列数据
    df = pd.read_csv(file, sep='\s+', header=None, names=['date','time', 'precipitation', 'flows'])
    df['date']=pd.to_datetime(df['date']+' '+df['time'])#合并日期、时刻
    #df['date']=pd.to_datetime.df['date']
    df_h=df[['date','precipitation','flows']]
    #这样调整会出现txt中不存在的日期数据,降水量和流量都是0    

    # 按日期合并数据
    df_h = df_h.set_index('date')#时间列设为索引
    df_d = df_h.resample('D').sum()#重采样
    df_d.reset_index(inplace=True)#取消时间列的索引设定
    #上合并方法会保留无数据日期,如果不想出现很多无数据日期可以改用groupby函数
    '''
    df_d = df_h.groupby(df_h['date'].dt.date).sum()
    df_d.reset_index(inplace=True)#取消时间列的索引设定
    '''
    # 保留日期、降水量、流量三列,保存为csv文件
    df_d.to_csv(file[:-4] + '.csv', index=False)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值