python处理一个文件夹下的所有文件并保存在新的文件夹

rawdata文件夹里有很多个csv文件,怎么处理每个文件的时间戳然后储存到另一个文件夹里


import pandas as pd
import datetime

data = pd.read_csv(r'E:\rawdata\11.csv', header=None)
data.columns = ['date', '11']
data['date'] = data['date'].apply(lambda x: (
    (x-621355968000000000)/10000000)).apply(lambda x: datetime.datetime.utcfromtimestamp(x))
print(data)
data.to_csv('11.csv', index=False)

该回答引用GPTᴼᴾᴱᴺᴬᴵ
可以使用Python的os模块来获取一个文件夹下的所有文件名,然后遍历每个文件进行处理,再将处理后的文件保存到另一个文件夹中。下面是一个示例代码:

import os
import pandas as pd
import datetime

# 原始数据文件夹路径
rawdata_dir = r'E:\rawdata'
# 保存处理后文件的文件夹路径
processed_dir = r'E:\processed'

# 获取原始数据文件夹下的所有文件名
filenames = os.listdir(rawdata_dir)

# 遍历每个文件并处理
for filename in filenames:
    if filename.endswith('.csv'):
        # 读取原始文件
        data = pd.read_csv(os.path.join(rawdata_dir, filename), header=None)
        data.columns = ['date', filename[:-4]]
        # 处理时间戳
        data['date'] = data['date'].apply(lambda x: ((x-621355968000000000)/10000000)).apply(lambda x: datetime.datetime.utcfromtimestamp(x))
        # 保存处理后的文件
        data.to_csv(os.path.join(processed_dir, filename), index=False)


上面的代码会遍历原始数据文件夹下所有的.csv文件,对每个文件进行时间戳的处理,然后将处理后的结果保存到processed文件夹下,文件名不变。如果要更改保存的文件名,可以在to_csv函数中指定。

首先将data排序后放入新的 df,然后再保存。