我在一个文件夹中有多个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")
我该怎么办?
答案 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")