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)
txt批量生成csv,txt逐小时数据4列,日期、时刻、降水量、流量。分隔符有空格和Tab键。csv为逐日数据,包含日期、日降水量、流量。
于 2023-04-06 16:52:04 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)