写在前面:直说能消除大部分误会,长嘴的感情才能长久。
import calendardef days_infebruary(year):if calendar.isleap(year):return 29else:return 28def days_infeb(year):# 直接使用年份来判断是否为闰年,然后返回相应的天数if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):return 29else:return 28y = 2024 # 示例年份print("{}年的二月份有{}天,days_infeb".format(y, days_infeb(y)))y = 2025 # 示例年份print("{}年的二月份有{}天,days_infeb".format(y, days_infeb(y)))y = 2026 # 示例年份print("{}年的二月份有{}天,days_infebruary".format(y, days_infebruary(y)))y = 2028 # 示例年份print("{}年的二月份有{}天,days_infebruary".format(y, days_infebruary(y)))


import osimport pandas as pd# 获取当前脚本的目录current_dir = os.path.dirname(os.path.abspath(__file__))# 构建完整的文件路径,如果有子目录:os.path.join(current_dir, 'kaoqin', '1月_一号考勤机器.xls')file_path = os.path.join(current_dir, '1月_一号考勤机器.xls')# 读取Excel文件df = pd.read_excel(file_path)# 输出Excel表格中的前8行数据,表头不计数print(df.head(7))


import osimport pandas as pd# 获取当前脚本的目录current_dir = os.path.dirname(os.path.abspath(__file__))# 构建完整的文件路径,如果有子目录:os.path.join(current_dir, 'kaoqin', '1月_一号考勤机器.xls')file_path = os.path.join(current_dir, '1月_一号考勤机器.xls')# 读取Excel文件df = pd.read_excel(file_path)# 检查K列中的每个值是否包含指定字符串'姓名:',参数na=False确保如果单元格是NaN不会被错误包含result = df.loc[df['Unnamed: 10'].str.contains('姓名:', na=False)]# 输出包含指定内容的所有数据print("输出包含姓名的所有数据:\n", result)

import osimport pandas as pddef return_filepath(filename, dirname=""):"""返回指定文件的完整路径:dirname为子目录名称,filename为文件名称如果文件在当前目录下,只传一个文件名称参数即可:return_filepath('1月_一号考勤机器.xls')如果文件在子目录中,则需要多传dirname参数,注意参数顺序!!return_filepath('1月_一号考勤机器.xls', 'kaoqin')"""current_dir = os.path.dirname(os.path.abspath(__file__)) # 获取当前脚本的目录# 构建完整的文件路径,也可以指定具体路径:df = pd.read_excel("/***/kaoqin/test.xlsx")f_path = os.path.join(current_dir, dirname, filename)return f_pathdef return_namecolumns(dataframe, str_value, str_column):"""返回包含指定内容的所有行:dataframe数据框架,str_value被包含指定字符串,str_column特定列return_namecolumns(df, '姓名:', 'Unnamed: 10')等价于df.loc[df['Unnamed: 10'].str.contains('姓名:', na=False)]"""# 参数na=False确保如果单元格是NaN不会被错误包含str_result = dataframe.loc[dataframe[str_column].str.contains(str_value, na=False)]return str_result# 获取原始文件完整路径,并读取Excel文件file_path = return_filepath('1月_一号考勤机器.xls', "kaoqin")df = pd.read_excel(file_path)# 检查K列中的每个值是否包含指定字符串'姓名:'result = return_namecolumns(df, '姓名:', 'Unnamed: 10')print("输出包含指定内容的前3行数据:\n", result.head(3))

import osimport pandas as pddef return_filepath(filename, dirname=""):"""返回指定文件的完整路径:dirname为子目录名称,filename为文件名称如果文件在当前目录下,只传一个文件名称参数即可:return_filepath('1月_一号考勤机器.xls')如果文件在子目录中,则需要多传dirname参数,注意参数顺序!!return_filepath('1月_一号考勤机器.xls', 'kaoqin')"""current_dir = os.path.dirname(os.path.abspath(__file__)) # 获取当前脚本的目录# 构建完整的文件路径,也可以指定具体路径:df = pd.read_excel("/***/kaoqin/test.xlsx")f_path = os.path.join(current_dir, dirname, filename)return f_pathdef return_namecolumns(dataframe, str_value, str_column):"""返回包含指定内容的所有行:dataframe数据框架,str_value被包含指定字符串,str_column特定列return_namecolumns(df, '姓名:', 'Unnamed: 10')等价于df.loc[df['Unnamed: 10'].str.contains('姓名:', na=False)]"""str_result = dataframe.loc[dataframe[str_column].str.contains(str_value, na=False)]return str_resultdef return_namelists(result_list, column_num):"""获取全部姓名,返回姓名列表:result_list为符合条件的所有行,column_num为姓名列"""names = result_list[f"Unnamed: {column_num}"] # 符合条件的姓名列的值print("输出姓名列的内容\n:", names)name_list = []for n in names:name = n[3:]name_list.append(name)return name_list# 获取原始文件完整路径,并读取Excel文件file_path = return_filepath('1月_一号考勤机器.xls')df = pd.read_excel(file_path)# 检查K列中的每个值是否包含指定字符串'姓名:',参数na=False确保如果单元格是NaN不会被错误包含result = return_namecolumns(df, '姓名:', 'Unnamed: 10')# 获取当前月份的全部姓名列表namelists = return_namelists(result, 10)print("输出姓名列表中的前4个:", namelists[:4])


无聊中..