Nhận được tháng cuối, hoặc bất kỳ khoảng thời gian nào khác có thể cồng kềnh. Trong bài đăng này, tôi sẽ chỉ cho bạn cách tạo một danh sách các ngày nhanh chóng trong Python.
import pandas as pd import datetime as dt #Yesterday's date pd.date_range(start='1/31/2000', end= dt.datetime.now())[-2] #Most recent month end date pd.date_range(start='1/31/2000', end= dt.datetime.now(), freq='M')[-1] #Most recent quarter end date pd.date_range(start='1/31/2000', end= dt.datetime.now(), freq='Q')[-1] #Most recent year end date pd.date_range(start='1/31/2000', end= dt.datetime.now(), freq='Y')[-1]
Giải thích thêm
Nếu bạn đã từng cố gắng để có được ngày cuối tháng trước bằng Python, có lẽ bạn sẽ biết rằng nó khá khó khăn. Ví dụ, hôm nay là 2020-11-11 và tôi cần phải có 2020-10-31 dưới dạng biến để lọc và một vài nhiệm vụ khác. Bạn có thể gây rối với mô -đun DateTime, nhưng nó không đơn giản như người ta nghĩ.
Đây là nơi chức năng Pandas pd.date_range phát huy tác dụng. Nó sẽ tạo ra một danh sách các ngày khi bạn vượt qua trong ngày bắt đầu, ngày kết thúc và tần số tùy chọn. Có nhiều lập luận bạn cũng có thể truyền lại nhưng ba người đó sẽ thực hiện công việc.
Bạn sẽ muốn nhập các gói pandas và datetime.
import pandas as pd import datetime as dtĐơn giản chỉ cần chuyển trong một ngày bắt đầu và một ngày kết thúc và chức năng sẽ tạo ra một danh sách các ngày có tần số một ngày.
Thêm vào một đối số tần số của M và bạn nhanh chóng nhận được một danh sách các ngày kết thúc tháng.
Bạn cũng có khả năng thực hiện tần suất hàng tuần và chỉ định ngày trong tuần để nhóm.
Nếu bạn nhận thấy ở trên, tôi đã thêm vào dt.datetime.now() trong đối số end của tôi. Đây là một mẹo để làm cho danh sách động. Khi được nhập, mục cuối cùng trong danh sách là ngày kết thúc thường xuyên nhất trong quá khứ. Nói cách khác, bạn đã giành được một ngày kết thúc lớn hơn ngày được sử dụng trong đối số end.
Cuối cùng, vì chức năng tạo ra một danh sách, bạn có thể áp dụng [-1] vào danh sách của mình để nhận ngày mới nhất từ danh sách của bạn.
Cảm ơn vì đã đọc!
Nếu bạn muốn một từ điển có chứa cặp ngày bắt đầu và ngày kết thúc của tháng giữa các năm mong muốn của bạn, thì đây là cách để có được điều đó.
start_year = int(input("Enter Starting Year: ")) end_year = int(input("Enter Ending Year: ")) import calendar month_dict = {} for x in range(start_year, end_year): for y in range(1, 13): if y < 10: start_date = '01'+'-'+'0'+str(y)+'-'+str(x) end_date = str(calendar.monthrange(x, y)[1])+'-'+'0'+str(y)+'-'+str(x) month_dict[start_date] = end_date else: start_date = '01'+'-'+str(y)+'-'+str(x) end_date = str(calendar.monthrange(x, y)[1])+'-'+str(y)+'-'+str(x) month_dict[start_date] = end_dateĐiều này cho đầu ra sau:
{'01-01-2000': '31-01-2000', '01-02-2000': '29-02-2000', '01-03-2000': '31-03-2000', '01-04-2000': '30-04-2000', '01-05-2000': '31-05-2000', '01-06-2000': '30-06-2000', '01-07-2000': '31-07-2000', '01-08-2000': '31-08-2000', '01-09-2000': '30-09-2000', '01-10-2000': '31-10-2000', '01-11-2000': '30-11-2000', '01-12-2000': '31-12-2000', '01-01-2001': '31-01-2001', '01-02-2001': '28-02-2001', '01-03-2001': '31-03-2001', '01-04-2001': '30-04-2001', '01-05-2001': '31-05-2001', '01-06-2001': '30-06-2001', '01-07-2001': '31-07-2001', '01-08-2001': '31-08-2001', '01-09-2001': '30-09-2001', '01-10-2001': '31-10-2001', '01-11-2001': '30-11-2001', '01-12-2001': '31-12-2001', '01-01-2002': '31-01-2002', '01-02-2002': '28-02-2002', '01-03-2002': '31-03-2002', '01-04-2002': '30-04-2002', '01-05-2002': '31-05-2002', '01-06-2002': '30-06-2002', '01-07-2002': '31-07-2002', '01-08-2002': '31-08-2002', '01-09-2002': '30-09-2002', '01-10-2002': '31-10-2002', '01-11-2002': '30-11-2002', '01-12-2002': '31-12-2002', '01-01-2003': '31-01-2003', '01-02-2003': '28-02-2003', '01-03-2003': '31-03-2003', '01-04-2003': '30-04-2003', '01-05-2003': '31-05-2003', '01-06-2003': '30-06-2003', '01-07-2003': '31-07-2003', '01-08-2003': '31-08-2003', '01-09-2003': '30-09-2003', '01-10-2003': '31-10-2003', '01-11-2003': '30-11-2003', '01-12-2003': '31-12-2003', '01-01-2004': '31-01-2004', '01-02-2004': '29-02-2004', '01-03-2004': '31-03-2004', '01-04-2004': '30-04-2004', '01-05-2004': '31-05-2004', '01-06-2004': '30-06-2004', '01-07-2004': '31-07-2004', '01-08-2004': '31-08-2004', '01-09-2004': '30-09-2004', '01-10-2004': '31-10-2004', '01-11-2004': '30-11-2004', '01-12-2004': '31-12-2004', '01-01-2005': '31-01-2005', '01-02-2005': '28-02-2005', '01-03-2005': '31-03-2005', '01-04-2005': '30-04-2005', '01-05-2005': '31-05-2005', '01-06-2005': '30-06-2005', '01-07-2005': '31-07-2005', '01-08-2005': '31-08-2005', '01-09-2005': '30-09-2005', '01-10-2005': '31-10-2005', '01-11-2005': '30-11-2005', '01-12-2005': '31-12-2005', '01-01-2006': '31-01-2006', '01-02-2006': '28-02-2006', '01-03-2006': '31-03-2006', '01-04-2006': '30-04-2006', '01-05-2006': '31-05-2006', '01-06-2006': '30-06-2006', '01-07-2006': '31-07-2006', '01-08-2006': '31-08-2006', '01-09-2006': '30-09-2006', '01-10-2006': '31-10-2006', '01-11-2006': '30-11-2006', '01-12-2006': '31-12-2006', '01-01-2007': '31-01-2007', '01-02-2007': '28-02-2007', '01-03-2007': '31-03-2007', '01-04-2007': '30-04-2007', '01-05-2007': '31-05-2007', '01-06-2007': '30-06-2007', '01-07-2007': '31-07-2007', '01-08-2007': '31-08-2007', '01-09-2007': '30-09-2007', '01-10-2007': '31-10-2007', '01-11-2007': '30-11-2007', '01-12-2007': '31-12-2007', '01-01-2008': '31-01-2008', '01-02-2008': '29-02-2008', '01-03-2008': '31-03-2008', '01-04-2008': '30-04-2008', '01-05-2008': '31-05-2008', '01-06-2008': '30-06-2008', '01-07-2008': '31-07-2008', '01-08-2008': '31-08-2008', '01-09-2008': '30-09-2008', '01-10-2008': '31-10-2008', '01-11-2008': '30-11-2008', '01-12-2008': '31-12-2008', '01-01-2009': '31-01-2009', '01-02-2009': '28-02-2009', '01-03-2009': '31-03-2009', '01-04-2009': '30-04-2009', '01-05-2009': '31-05-2009', '01-06-2009': '30-06-2009', '01-07-2009': '31-07-2009', '01-08-2009': '31-08-2009', '01-09-2009': '30-09-2009', '01-10-2009': '31-10-2009', '01-11-2009': '30-11-2009', '01-12-2009': '31-12-2009', '01-01-2010': '31-01-2010', '01-02-2010': '28-02-2010', '01-03-2010': '31-03-2010', '01-04-2010': '30-04-2010', '01-05-2010': '31-05-2010', '01-06-2010': '30-06-2010', '01-07-2010': '31-07-2010', '01-08-2010': '31-08-2010', '01-09-2010': '30-09-2010', '01-10-2010': '31-10-2010', '01-11-2010': '30-11-2010', '01-12-2010': '31-12-2010', '01-01-2011': '31-01-2011', '01-02-2011': '28-02-2011', '01-03-2011': '31-03-2011', '01-04-2011': '30-04-2011', '01-05-2011': '31-05-2011', '01-06-2011': '30-06-2011', '01-07-2011': '31-07-2011', '01-08-2011': '31-08-2011', '01-09-2011': '30-09-2011', '01-10-2011': '31-10-2011', '01-11-2011': '30-11-2011', '01-12-2011': '31-12-2011', '01-01-2012': '31-01-2012', '01-02-2012': '29-02-2012', '01-03-2012': '31-03-2012', '01-04-2012': '30-04-2012', '01-05-2012': '31-05-2012', '01-06-2012': '30-06-2012', '01-07-2012': '31-07-2012', '01-08-2012': '31-08-2012', '01-09-2012': '30-09-2012', '01-10-2012': '31-10-2012', '01-11-2012': '30-11-2012', '01-12-2012': '31-12-2012', '01-01-2013': '31-01-2013', '01-02-2013': '28-02-2013', '01-03-2013': '31-03-2013', '01-04-2013': '30-04-2013', '01-05-2013': '31-05-2013', '01-06-2013': '30-06-2013', '01-07-2013': '31-07-2013', '01-08-2013': '31-08-2013', '01-09-2013': '30-09-2013', '01-10-2013': '31-10-2013', '01-11-2013': '30-11-2013', '01-12-2013': '31-12-2013', '01-01-2014': '31-01-2014', '01-02-2014': '28-02-2014', '01-03-2014': '31-03-2014', '01-04-2014': '30-04-2014', '01-05-2014': '31-05-2014', '01-06-2014': '30-06-2014', '01-07-2014': '31-07-2014', '01-08-2014': '31-08-2014', '01-09-2014': '30-09-2014', '01-10-2014': '31-10-2014', '01-11-2014': '30-11-2014', '01-12-2014': '31-12-2014', '01-01-2015': '31-01-2015', '01-02-2015': '28-02-2015', '01-03-2015': '31-03-2015', '01-04-2015': '30-04-2015', '01-05-2015': '31-05-2015', '01-06-2015': '30-06-2015', '01-07-2015': '31-07-2015', '01-08-2015': '31-08-2015', '01-09-2015': '30-09-2015', '01-10-2015': '31-10-2015', '01-11-2015': '30-11-2015', '01-12-2015': '31-12-2015', '01-01-2016': '31-01-2016', '01-02-2016': '29-02-2016', '01-03-2016': '31-03-2016', '01-04-2016': '30-04-2016', '01-05-2016': '31-05-2016', '01-06-2016': '30-06-2016', '01-07-2016': '31-07-2016', '01-08-2016': '31-08-2016', '01-09-2016': '30-09-2016', '01-10-2016': '31-10-2016', '01-11-2016': '30-11-2016', '01-12-2016': '31-12-2016', '01-01-2017': '31-01-2017', '01-02-2017': '28-02-2017', '01-03-2017': '31-03-2017', '01-04-2017': '30-04-2017', '01-05-2017': '31-05-2017', '01-06-2017': '30-06-2017', '01-07-2017': '31-07-2017', '01-08-2017': '31-08-2017', '01-09-2017': '30-09-2017', '01-10-2017': '31-10-2017', '01-11-2017': '30-11-2017', '01-12-2017': '31-12-2017', '01-01-2018': '31-01-2018', '01-02-2018': '28-02-2018', '01-03-2018': '31-03-2018', '01-04-2018': '30-04-2018', '01-05-2018': '31-05-2018', '01-06-2018': '30-06-2018', '01-07-2018': '31-07-2018', '01-08-2018': '31-08-2018', '01-09-2018': '30-09-2018', '01-10-2018': '31-10-2018', '01-11-2018': '30-11-2018', '01-12-2018': '31-12-2018', '01-01-2019': '31-01-2019', '01-02-2019': '28-02-2019', '01-03-2019': '31-03-2019', '01-04-2019': '30-04-2019', '01-05-2019': '31-05-2019', '01-06-2019': '30-06-2019', '01-07-2019': '31-07-2019', '01-08-2019': '31-08-2019', '01-09-2019': '30-09-2019', '01-10-2019': '31-10-2019', '01-11-2019': '30-11-2019', '01-12-2019': '31-12-2019', '01-01-2020': '31-01-2020', '01-02-2020': '29-02-2020', '01-03-2020': '31-03-2020', '01-04-2020': '30-04-2020', '01-05-2020': '31-05-2020', '01-06-2020': '30-06-2020', '01-07-2020': '31-07-2020', '01-08-2020': '31-08-2020', '01-09-2020': '30-09-2020', '01-10-2020': '31-10-2020', '01-11-2020': '30-11-2020', '01-12-2020': '31-12-2020', '01-01-2021': '31-01-2021', '01-02-2021': '28-02-2021', '01-03-2021': '31-03-2021', '01-04-2021': '30-04-2021', '01-05-2021': '31-05-2021', '01-06-2021': '30-06-2021', '01-07-2021': '31-07-2021', '01-08-2021': '31-08-2021', '01-09-2021': '30-09-2021', '01-10-2021': '31-10-2021', '01-11-2021': '30-11-2021', '01-12-2021': '31-12-2021'}