gpt4 book ai didi

Python:如何写入 CSV 并将 DataFrame 中的日期附加到文件名

转载 作者:行者123 更新时间:2023-11-28 22:49:05 25 4
gpt4 key购买 nike

我正在使用以下方法写入文件名后附加日期的 csv 文件。

outpath = r'C:\test'
filename = "filename_"+(time.strftime("%Y%m%d")+".csv")

df.to_csv(outpath + "\\" + filename)


print outpath + "\\" + filename

C:\test\filename_20140621.csv

但是我遇到了一个问题,当例程跨越午夜并且添加的日期不正确时。

我在 DataFrame df 中有正确的日期,如下所示:

df['Date/Time'].head()
Out[54]:

0 2014-06-20
1 2014-06-20
2 2014-06-20
3 2014-06-20
4 2014-06-20
Name: Date/Time, dtype: object

我想在文件名中使用这个日期,但找不到正确的引用方式

例如,我将这个日期放在一个名为“date”的新数据框中,只有一列:

date = pd.to_datetime(df['Date/Time'])
date.head()

Out[15]:

0 2014-06-20
1 2014-06-20
2 2014-06-20
3 2014-06-20
4 2014-06-20
Name: Date/Time, dtype: datetime64[ns]

并尝试了以下方法:

filename = "filename_"+ date._slice(slice(1))+".csv")

...以及各种类似的东西。

谁能告诉我如何设置文件名以包含 DataFrame 中的日期?

非常感谢任何帮助。

最佳答案

提供您的日期系列,您可以根据需要选择第一个或至少:

>>> date.head()
0 2014-06-20
1 2014-06-20
2 2014-06-20
3 2014-06-20
4 2014-06-20
Name: Date/Time, dtype: datetime64[ns]
>>> date.iloc[0].strftime("%Y%m%d")
'20140620'
>>> date.min().strftime("%Y%m%d")
'20140620'

.iloc[0] 访问第一行(不管它的索引是 0 还是 217123),.min() 扫描他们全部并找到最小的。 (如果你知道它们都是一样的,或者你想要的将是第一个,那么 .iloc[0] 将比 .min() 更快,当然可以,但也许它们没有排序,您想要最小的..或最大的,使用 max()。)

然后你可以很容易地创建一个文件名:

>>> datestr = date.min().strftime("%Y%m%d")
>>> 'filename_{}.csv'.format(datestr)
'filename_20140620.csv'

关于Python:如何写入 CSV 并将 DataFrame 中的日期附加到文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24338871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com