Hướng dẫn compare months python - so sánh trăn tháng

I actually needed to do something pretty similar just now

Ended up writing a function which returns a list of tuples indicating the start and end of each month between two sets of dates so I could write some SQL queries off the back of it for monthly totals of sales etc.

I'm sure it can be improved by someone who knows what they're doing but hope it helps...

The returned value look as follows [generating for today - 365days until today as an example]

[   [datetime.date[2013, 5, 1], datetime.date[2013, 5, 31]],
    [datetime.date[2013, 6, 1], datetime.date[2013, 6, 30]],
    [datetime.date[2013, 7, 1], datetime.date[2013, 7, 31]],
    [datetime.date[2013, 8, 1], datetime.date[2013, 8, 31]],
    [datetime.date[2013, 9, 1], datetime.date[2013, 9, 30]],
    [datetime.date[2013, 10, 1], datetime.date[2013, 10, 31]],
    [datetime.date[2013, 11, 1], datetime.date[2013, 11, 30]],
    [datetime.date[2013, 12, 1], datetime.date[2013, 12, 31]],
    [datetime.date[2014, 1, 1], datetime.date[2014, 1, 31]],
    [datetime.date[2014, 2, 1], datetime.date[2014, 2, 28]],
    [datetime.date[2014, 3, 1], datetime.date[2014, 3, 31]],
    [datetime.date[2014, 4, 1], datetime.date[2014, 4, 30]],
    [datetime.date[2014, 5, 1], datetime.date[2014, 5, 31]]]

Code as follows [has some debug stuff which can be removed]:

#! /usr/env/python
import datetime

def gen_month_ranges[start_date=None, end_date=None, debug=False]:
    today = datetime.date.today[]
    if not start_date: start_date = datetime.datetime.strptime[
        "{0}/01/01".format[today.year],"%Y/%m/%d"].date[]  # start of this year
    if not end_date: end_date = today
    if debug: print["Start: {0} | End {1}".format[start_date, end_date]]

    # sense-check
    if end_date < start_date:
        print["Error. Start Date of {0} is greater than End Date of {1}?!".format[start_date, end_date]]
        return None

    date_ranges = []  # list of tuples [month_start, month_end]

    current_year = start_date.year
    current_month = start_date.month

    while current_year  12:
            next_month = 1
            next_year = current_year + 1

        month_start = datetime.datetime.strptime[
            "{0}/{1}/01".format[current_year,
                                current_month],"%Y/%m/%d"].date[]  # start of month
        month_end = datetime.datetime.strptime[
            "{0}/{1}/01".format[next_year,
                                next_month],"%Y/%m/%d"].date[]  # start of next month
        month_end  = month_end+datetime.timedelta[days=-1]  # start of next month less one day

        range_tuple = [month_start, month_end]
        if debug: print["Month runs from {0} --> {1}".format[
            range_tuple[0], range_tuple[1]]]
        date_ranges.append[range_tuple]

        if current_month == 12:
            current_month = 1
            current_year += 1
            if debug: print["End of year encountered, resetting months"]
        else:
            current_month += 1
            if debug: print["Next iteration for {0}-{1}".format[
                current_year, current_month]]

        if current_year == end_date.year and current_month > end_date.month:
            if debug: print["Final month encountered. Terminating loop"]
            break

    return date_ranges


if __name__ == '__main__':
    print["Running in standalone mode. Debug set to True"]
    from pprint import pprint
    pprint[gen_month_ranges[debug=True], indent=4]
    pprint[gen_month_ranges[start_date=datetime.date.today[]+datetime.timedelta[days=-365],
                            debug=True], indent=4]

Hướng dẫn image filtering python - Python lọc hình ảnh

Hướng dẫn dùng set contains pythonBài viết được sự cho phép của tác giả Kien Dang ChungNội dung chínhVideo trong bài viết1. Tập hợp [Set]1.1 Khai báo tập hợp1.2 ...

programming python Homomorphic filtering Python OpenCV-Python Image mapping Python Python image

Hướng dẫn wkhtmltopdf debian - wkhtmltopdf debian

Bạn đang cần một mã nguồn mở đơn giản để chuyển đổi các trang web và HTML sang tệp PDF bằng command line? Không cần tìm đâu xa, hãy thử ...

programming html python-wkhtmltopdf Wkhtmltopdf python example Remove wkhtmltopdf ubuntu Go-wkhtmltopdf Wkhtmltopdf-binary

Hướng dẫn python add single quotes to string variable - python thêm dấu ngoặc kép vào biến chuỗi

Đối với những người đang đến đây trong khi googled một cái gì đó như chuỗi xung quanh Python và có thời gian tận tâm [hoặc chỉ tìm kiếm giải pháp tốt ...

programming python

Hướng dẫn code website python - mã trang web python

Nội dung1 Ngôn ngữ Python là gì – Lập trình web với Python? Ngôn ngữ Python là gì – Lập trình web với Python?2 Những ngôn ngữ được sử dụng để lập trình ...

programming python

Hướng dẫn code website python - mã trang web python

Nội dung1 Ngôn ngữ Python là gì – Lập trình web với Python? Ngôn ngữ Python là gì – Lập trình web với Python?2 Những ngôn ngữ được sử dụng để lập trình ...

programming python

Hướng dẫn code website python - mã trang web python

Nội dung1 Ngôn ngữ Python là gì – Lập trình web với Python? Ngôn ngữ Python là gì – Lập trình web với Python?2 Những ngôn ngữ được sử dụng để lập trình ...

Hướng dẫn python check if list of words in string - python kiểm tra xem danh sách các từ trong chuỗi

Dưới đây là một vài cách thay thế để thực hiện nó, có thể nhanh hơn hoặc phù hợp hơn so với câu trả lời của Kennytm, tùy thuộc vào bối cảnh.1] Sử ...

Hướng dẫn python add percentage to number - python thêm phần trăm vào số

programming python List eval python Eval[input Python] Expression in Python Ast literal_eval

Hướng dẫn python check if list of characters in string - python kiểm tra xem danh sách các ký tự trong chuỗi

Thư viện ESMRE thực hiện thủ thuật. Trong trường hợp của bạn, ESM đơn giản hơn [một phần của ESMRE] là những gì bạn muốn.esmre library does the trick. In your ...

programming python

Hướng dẫn how to skip a line when reading a file in python - cách bỏ qua một dòng khi đọc tệp trong python

Dưới đây là một phương thức để có được các dòng giữa hai số dòng trong một tệp:import sys def file_line[name,start=1,end=sys.maxint]: lc=0 with open[s] as f: ...

programming python Python readlines Read Python

Hướng dẫn control statements in python - câu lệnh điều khiển trong python

Bên cạnh tuyên bố >>> a = [Mary, had, a, little, lamb] >>> for i in range[len[a]]: ... print[i, a[i]] ... 0 Mary 1 had 2 a 3 little 4 lamb 5 vừa được ...

programming python Control structure python If in Python

Hướng dẫn how to make an input only accept numbers in python - cách tạo đầu vào chỉ chấp nhận các số trong python

mark= eval[raw_input[What is your mark?]] try: int[mark] except ValueError: try: float[mark] except ValueError: print This is not a number Vì vậy, tôi cần tạo ...

programming python If input Python

Hướng dẫn how to represent empty string in python - cách biểu diễn chuỗi rỗng trong python

Tôi thấy mã hóa cứng [sic] Mỗi lần kiểm tra một chuỗi trống không tốt.Phương pháp tiếp cận mã sạchLàm điều này: if csvfield == CSV_NONE: csvfield = None 0 ...

programming python Check empty Python Str None Python Empty string Python In Python

Hướng dẫn how do you pass one class to another class in python? - làm thế nào để bạn chuyển một lớp này sang một lớp khác trong python?

Tôi đang gặp một số rắc rối với các lớp học vào lúc này và tôi không chắc chắn làm thế nào để giải quyết vấn đề của mình. Tôi đã đọc các tài ...

programming python Python class pass

Hướng dẫn how do you concatenate an int and a float in python? - làm thế nào để bạn nối một int và một float trong python?

Chuỗi python concatenate và int, biến float; Trong hướng dẫn này, bạn sẽ học cách kết hợp chuỗi và int, biến nổi trong Python.Bạn phải thấy trong nhiều ngôn ...

programming python Strcat python Len Python String concatenation

Hướng dẫn how do i remove two spaces in python? - làm cách nào để xóa hai khoảng trắng trong python?

Sử dụng regexes với s và thực hiện chuỗi đơn giản.split [] cũng sẽ loại bỏ một khoảng trắng khác - như newlines, return car car, tab. Trừ khi điều này là ...

programming python B Python S in Python Remove n Python

Hướng dẫn python case - trường hợp trăn

This entry is part 14 of 29 in the series Python Không Khó 82 / 100 / 100 Không giống như các ngôn ngữ khác, Python không có cấu trúc switch case. Nếu như ở trong các ngôn ...

programming python Python case Python switch Else if Python

Hướng dẫn accidentally uninstalled python3 ubuntu - vô tình gỡ cài đặt ubuntu python3

Tôi đã gỡ cài đặt sudo apt-get install python3-all sudo apt-get install gnome-terminal 0 qua:apt-get remove python Tôi bị mất bảng điều khiển và thiết bị đầu cuối. Ngay ...

programming python Uninstall python Ubuntu Ubuntu restore python3 Install Python Ubuntu

Hướng dẫn what is recursion write a recursive function for finding the factorial of a given number in python? - Đệ quy là gì? Viết một hàm đệ quy để tìm giai thừa của một số nhất định trong python?

Nấp của một số là sản phẩm của tất cả các số nguyên từ 1 đến số đó.Ví dụ, giai thừa của 6 là 1*2*3*4*5*6 = 720. Nấp không được định nghĩa cho các ...

programming python Factorial Python Recursive function Def func python Factorial Python recursion Recursive function C++ Recursion Python Def in Python Fibonacci recursion

Hướng dẫn how do you convert base 10 to base in python? - làm thế nào để bạn chuyển đổi cơ sở 10 thành cơ sở trong python?

Mã Python được cung cấp dưới đây chuyển đổi một số nguyên Python thành một chuỗi trong cơ sở tùy ý [từ 2 đến vô cực] và hoạt động theo cả hai hướng. ...

programming python Python base conversion

Hướng dẫn python memory usage keeps increasing - Việc sử dụng bộ nhớ python tiếp tục tăng

Không giống như các ngôn ngữ như C, phần lớn thời gian Python sẽ giải phóng bộ nhớ cho bạn. Nhưng đôi khi, nó đã thắng được công việc theo cách bạn mong ...

programming python Memory dump Python Memory Python Release memory Python Memory leak Python Gc collect Python

Hướng dẫn sum of prime numbers in a list in python - tổng các số nguyên tố trong một danh sách trong python

Tôi bị tấn công và cần giúp đỡ với điều này .. Tôi muốn tìm tổng số số nguyên tố từ một danh sách số nguyên nhất định. Dưới đây là một vài ...

programming python

Hướng dẫn how do i click a button on a website in python? - làm cách nào để nhấp vào một nút trên một trang web trong python?

Tôi hiện có một tập lệnh đăng nhập cho tôi vào một trang web và tôi muốn có nó nhấp vào một nút trên trang web nếu nó hiện không được nhấp. Đây là thông ...

programming python

Hướng dẫn backslash operator python - Python toán tử dấu gạch chéo ngược

Không cần sử dụng str.replace hoặc >>> strs C:UsersJoshDesktop20130216 >>> s = rfo >>> s #repr representation fo >>> len[s] ...

programming python Mldivide Python Mrdivide in Python Backslash in Python Python solve Path in Python Numpy mldivide Numpy left divide

Hướng dẫn how do i make a vertical line in python? - làm cách nào để tạo một đường thẳng đứng trong python?

Matplotlib là một thư viện Python phổ biến được sử dụng để vẽ, nó cung cấp một API hướng đối tượng để hiển thị các sơ đồ GUI. Vẽ một đường ...

programming python Plt axvline Line style matplotlib Ax axvline Plt plot color Plt text

Hướng dẫn how to get first date of month in python - làm thế nào để có được ngày đầu tiên của tháng trong python

Tôi đang cố gắng tìm ngày đầu tiên của tháng ở Python với một điều kiện: Nếu ngày hiện tại của tôi đã đi qua ngày 25 của tháng, thì biến ngày đầu ...

programming python Add date python Convert date Python

Hướng dẫn how do i disable vs code format in python? - làm cách nào để tắt định dạng mã so với trong python?

Visual Studio Code là một công cụ chỉnh sửa mạnh mẽ cho mã nguồn Python. Biên tập viên bao gồm các tính năng khác nhau để giúp bạn làm việc hiệu quả khi viết ...

programming python Autopep8 vscode Multi cursor vscode Uninstall autopep8 vscode

Hướng dẫn javascript compare object key values - javascript so sánh các giá trị khóa đối tượng

Khác biệt đệ quyGần 3 năm sau, tôi rất vui khi cung cấp một câu trả lời được làm mới cho câu hỏi này.Chúng tôi bắt đầu với hai đối tượng khác nhauconst ...

programming javascript Lodash compare object Compare JSON JavaScript

Hướng dẫn how to install python 2.7 17 - cách cài đặt python 2.7 17

Ngày phát hành: ngày 19 tháng 10 năm 2019 Oct. 19, 2019Python 2.7.17 là bản phát hành sửa lỗi trong loạt Python 2.7.x. Nó được dự kiến ​​sẽ là bản phát hành áp ...

programming python python 2.7.18 download Python 2.7 15 Python 2.7 9 Python 3.7 4 Python 2.7 download

Hướng dẫn python sql create table - python sql tạo bảng

Create table Trong bài này, chúng ta sẽ tạo ra một bảng MySQL mới có tên là Employee. Chúng ta có thể tạo bảng mới bằng cách sử dụng câu lệnh CREATE TABLE của ...

programming python Connect SQL Python MySQL Connector-Python Delete SQL Python

Hướng dẫn add items to empty dictionary python - thêm các mục vào python từ điển trống

Bài viết này sẽ thảo luận về các cách khác nhau để thêm các cặp giá trị khóa vào một từ điển trống trong Python, như sử dụng toán tử [], hàm update [] ...

programming python Add dictionary Python

Hướng dẫn how do i know which python pip to use? - làm cách nào để biết sử dụng pip python nào?

PIP là gì?PIP là một trình quản lý gói cho các gói Python hoặc mô -đun nếu bạn thích.Lưu ý: Nếu bạn có Python phiên bản 3.4 trở lên, PIP được bao gồm theo ...

programming python Pip install Pip install --upgrade Install pip Windows Python pip install Get pip py Pip upgrade Check pip version

Hướng dẫn write a program in python to find average of any two numbers - viết một chương trình bằng python để tìm giá trị trung bình của hai số bất kỳ

Chúng tôi sẽ phát triển một chương trình Python để tìm trung bình của hai số. Trung bình được định nghĩa là giá trị trung bình bằng tỷ lệ của tổng số ...

programming python Calculate in Python

Hướng dẫn how do i change a word to a digit in python? - làm cách nào để thay đổi một từ thành một chữ số trong python?

Đã hỏi 13 năm, 8 tháng trước 13 years, 8 months agoĐã xem 136k lần 136k times Tôi cần chuyển đổi from word2number import w2n print w2n.word_to_num[two million three thousand ...

programming python Word2number

Hướng dẫn python programming practice set - bộ thực hành lập trình python

Cập nhật lần cuối vào ngày 24 tháng 8 năm 2022 05:41:25 [UTC/GMT +8 giờ]Ngôn ngữ Python là gì?Python là một ngôn ngữ lập trình năng động cấp cao, đa năng, được ...

programming python Python W3Schools Python learning Set Python Python tutorial Python exercise Create set Python python.org download Python Download

Hướng dẫn what is the main reason to use recursion in python? - lý do chính để sử dụng đệ quy trong python là gì?

Nếu bạn quen thuộc với các chức năng trong Python, thì bạn sẽ biết rằng nó khá phổ biến đối với một chức năng để gọi một chức năng khác. Trong Python, ...

programming python Recursive function Recursion Python Recursion python example Indirect recursion List recursion Python Recursive algorithm

Hướng dẫn is there a negative function in python? - có một chức năng tiêu cực trong python?

Tôi có một hàm được xác định để tính toán tối thiểu của một hàm như x^2. Tôi muốn xác định một hàm sẽ tính toán tối đa của một hàm bằng cách tính ...

programming python Np negative Np percentile Leap year Python Np any Factorial Python Numpy inner

Hướng dẫn can you open 2 files in python? - bạn có thể mở 2 tệp trong python không?

Vì Python 3.3, bạn có thể sử dụng lớp ExitStack từ mô -đun contextlib để an toàn một số lượng tệp tùy ý. open an arbitrary number of files.Nó có thể quản lý ...

programming python Open folder python

Tại sao python linux

Việc cung cấp các ngôn ngữ lập trình nguồn mở gần như phong phú như của các nhà xuất bản Markdown [và những ngôn ngữ này nên được WHO tuyên bố là đại ...

programming python Python la gì

Hướng dẫn how do you get a word count in a string python? - làm thế nào để bạn có được một số từ trong một chuỗi python?

Xem thảo luậnCải thiện bài viếtLưu bài viếtĐọcBàn luậnXem thảo luậnCải thiện bài viếtLưu bài viếtĐọcBàn luậnOne line Code to find count words in a sentence ...

programming python Word count Python

Hướng dẫn javascript string split by comma - chuỗi javascript được chia bằng dấu phẩy

Ví dụChia các từ: hãy để văn bản = hôm nay bạn thế nào?; const myArray = text.split []; const myArray = text.split[ ]; Hãy tự mình thử »Chia các từ và trả lại ...

programming javascript Split js String split js Split array JavaScript Split string C# Split[String Java] Split string Python

Bài Viết Liên Quan

Chủ Đề