Python Code Snippets
Browse Python snippets for data analysis, web apps, and automation.
def flatten(lst):
result = []
for i in lst:
if isinstance(i, list):
result.extend(flatten(i))
else:
result.append(i)
return result
Flatten a list of arbitrarily nested lists into a flat list in python
This recursive function takes a list wit...from datetime import datetime, date
default_format_to = "%Y-%m-%d" #ayou can change it to any format "%d-%m-%Y", "%m-%d-%Y"
def format_date(input_date, format_to = default_format_to):
if isinstance(input_date, datetime):
dt = input_date
elif isinstance(input_date, date):
dt = datetime.combine(input_date, datetime.min.time())
elif isinstance(input_date, str):
# Try multiple common date string formats
for fmt in ("%Y-%m-%d", "%d-%m-%Y", "%m-%d-%Y", "%d/%m/%Y", "%m/%d/%Y"):
try:
dt = datetime.strptime(input_date, fmt)
break
except ValueError:
continue
else:
raise ValueError(f"Unsupported date format: {input_date}")
else:
raise TypeError(f"Unsupported type: {type(input_date)}")
return dt.strftime(format_to)
print(format_date("05-04-2022", default_format_to)) # 2022-04-05
print(format_date("2022-04-05")) # 2022-04-05
print(format_date(date(2022, 9, 19), default_format_to)) # 2022-09-19
print(format_date(datetime(2021, 4, 5))) # 2022-04-05