熊猫将文件创建日期添加为变量

时间:2018-11-06 12:59:38

标签: python pandas glob

我在一个文件夹中有多个csv文件。我想将“ date_created”作为变量添加到每个csv文件的数据框中。目前我有这样的东西:

import glob
import pandas as pd

df = pd.concat([pd.read_csv(f, encoding="utf-16", delimiter = "^") for f in glob.glob('*.csv')])
df.to_csv("all_together.csv")

我该怎么办?

1 个答案:

答案 0 :(得分:1)

assign与自定义功能一起使用:

import os
import platform

#https://stackoverflow.com/a/39501288
def creation_date(path_to_file):
    """
    Try to get the date that a file was created, falling back to when it was
    last modified if that isn't possible.
    See http://stackoverflow.com/a/39501288/1709587 for explanation.
    """
    if platform.system() == 'Windows':
        return os.path.getctime(path_to_file)
    else:
        stat = os.stat(path_to_file)
        try:
            return stat.st_birthtime
        except AttributeError:
            # We're probably on Linux. No easy way to get creation dates here,
            # so we'll settle for when its content was last modified.
            return stat.st_mtime

L = [pd.read_csv(f, encoding="utf-16", delimiter = "^").assign(date_created=creation_date(f)) 
               for f in glob.glob('*.csv')]
df = pd.concat(L, ignore_index=True)
df.to_csv("all_together.csv")