1.获取输入时间段内的所有时间列表
import datetimedef get_every_day(start, end): """ :param start: str :param end: str :return: """ if not start: start = "2021-01-01" if not end: end = datetime.datetime.today().strftime("%Y-%m-%d") data = [] start_time = datetime.datetime.strptime(start, "%Y-%m-%d") end_time = datetime.datetime.strptime(end, "%Y-%m-%d") while start_time <= end_time: date_str = start_time.strftime("%Y-%m-%d") data.append(date_str) start_time += datetime.timedelta(days=1) return data
2.获取文件目录,新建,删除文件及文件夹
import os# 获取文件所在目录parent_dir = os.path.abspath(os.path.dirname(__file__))# 拼接文件目录file_dir = os.path.join(parent_dir, "file_name.json")# 根据文件路径删除文件finally: # 如果存在此路径,则进行删除,locals()是一个字典,存储本模块中的变量等 file_dir = locals().get("file_dir") if os.path.exists(file_dir): os.remove(file_dir)parent_path = os.path.abspath(os.path.dirname(__file__))# 拼接temp文件夹路径folder_path = os.path.join(parent_path, "temp") # 创建文件目录if not os.path.exists(folder_path): os.mkdir(folder_path) file_path = os.path.join(folder_path, "__init__.py") # 写入空文件 with open(file_path, "w"): pass
3.数据手动分页
# 当前页page_num = data.get("page_num", 1)# 当前页数据条数page_size = data.get("page_size", 10)# 数据分页start = (page_num - 1) * page_sizeend = start + page_size# 数据总条数total = len(total_data)split_data = total_data[start:end]
4.pandas存储为excel文件
import numpy as npimport pandas as pdform_headers = ["表头1", "表头2"]# 根据表头设置的每行的数据table_data = [["数据1", "数据2"], ["数据1", "数据2"], ["数据1", "数据2"]]table_data = np.array(table_data_res)pf = pd.DataFrame(data=table_data, columns=form_headers)# DataFrame有前置索引列,关闭即可pf.to_excel(f"{file_dir}", index=False)
5.[{}, {}, {}, …]根据某个字段去重
def deduplicate_data(data,key): ret = [] # 用于存储去重后的list values = [] # 用于存储当前已有的值 for d in data: if d[key] not in values: ret.append(d) values.append(d[key]) return rets = [{"a":1, "b": "c"}, {"a":1, "b": "e"}, {"a":6, "b": "w"}]r = deduplicate_data(s, "a")=> [{'a': 1, 'b': 'c'}, {'a': 6, 'b': 'w'}]
6.时间对象与时间字符串互相转换(待定。。。)
today = datetime.datetime.today()today_str = datetime.datetime.strftime(today, "%Y-%m-%d")days_ago = today - datetime.timedelta(days=3)days_ago_str = datetime.datetime.strftime(days_ago, "%Y-%m-%d")# 将时间戳转化为字符串时间datetime.strftime(datetime.fromtimestamp(int(str(date[0])[:-3])), '%Y-%m-%d')