在Python中按日期对excel文件进行排序[关闭]
Posted
技术标签:
【中文标题】在Python中按日期对excel文件进行排序[关闭]【英文标题】:Sort an excel file by date in Python [closed] 【发布时间】:2019-05-07 11:42:16 【问题描述】:我想在python中导入的excel文件中根据日期提取一些数据。 我希望能够给出开始日期和结束日期并获取该特定时期的数据。 我尝试了不同的方法来安装 pandas_datareader 以使用以下代码,但我不能。
data = web.DataReader(dataset,start='', end='')
所以,这是我的代码。
import pandas as pd
import datetime
data = pd.read_excel('file.xlsx')
start = datetime.datetime(2009,1,1)
end = datetime.datetime(2018,1,1)
#reshape based on date
set_index = data.set_index('date')
我该如何解决这个问题? :(
Excel file
【问题讨论】:
你能分享几个excel中的行和字段吗? @Harry_pb:我刚刚为您上传了我的文件的屏幕截图。 i.stack.imgur.com/y6o3L.png Sort Pandas Dataframe by Date的可能重复 @Evan:谢谢,但我可以对日期进行排序。我的问题是我不知道如何确定具体的日期期间。例如,在我的数据集中,如果我只想拥有 2010 年到 2018 年的点,我该如何设置这个时间段。 (我的 excel 文件包含 1997 年到 2018 年的数据点)。 嗨@Nicole,你问的是子集。在这种情况下,我推荐df.loc[]
;我会发布一个答案。
【参考方案1】:
import pandas as pd
import datetime
"""
ticker,date,closeunadj
ZF,2018-11-28,9.22
ZF,2018-11-27,9.16
ZF,2018-11-26,9.23
"""
df = pd.read_clipboard(sep=",", parse_dates=["date"]).set_index("date")
df
输出:
ticker closeunadj
date
2018-11-28 ZF 9.22
2018-11-27 ZF 9.16
2018-11-26 ZF 9.23
然后您可以使用.loc
将索引子集设置为您喜欢的日期范围。
df.loc[(df.index < datetime.datetime(2018, 11, 28)) & (df.index > datetime.datetime(2018, 11, 26))]
输出:
ticker closeunadj
date
2018-11-27 ZF 9.16
【讨论】:
以上是关于在Python中按日期对excel文件进行排序[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何根据python中的多个条件对excel文件进行重复数据删除?