~~557 2023-03-17 11:19 采纳率: 76.7%
浏览 28
已结题

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)
  • 写回答

3条回答 默认 最新

  • MarkHan_ 2023-03-17 11:54
    关注

    该回答引用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函数中指定。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月26日
  • 已采纳回答 3月18日
  • 创建了问题 3月17日