Панды, добавляющие дату создания файла в качестве переменной - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть несколько CSV-файлов в папке. Я хочу добавить «date_created» в качестве переменной в мой dataframe для каждого файла 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 голосов
/ 06 ноября 2018

Использование 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")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...