我是初学者,请使用以下程序逻辑帮助我使用pandas创建python脚本。
我有一个Excel工作表,其中有5列和许多行,其中包含ssl证书过期的详细信息。 第四列具有到期日期。
我需要编写一个 Python脚本来检查第4列的每个单元格中的日期,如果该日期位于从今天起60天的时间范围内,则需要将整行复制到新的工作表中 ,同样明智的做法是,在此时间范围内附加所有行,然后将其发送给新的电子表格。
答案 0 :(得分:1)
要从sheetname
中打开工作表excel_path
,请使用
df = pd.read_excel(excel_path, sheetname=sheetname)
考虑数据框:
df = pd.DataFrame({"a": [1,2,3,4,5,6],
"b": [7,8,9,0,1,2],
"c": [3,4,5,6,7,8],
"date": ["2018-01-01", "2018-02-02", "2018-03-03",
"2018-04-04", "2018-05-05", "2018-06-06"]})
> a b c date
0 1 7 3 2018-01-01
1 2 8 4 2018-02-02
2 3 9 5 2018-03-03
3 4 0 6 2018-04-04
4 5 1 7 2018-05-05
5 6 2 8 2018-06-06
首先,将date
列转换为format必需的datetime
dtype:
df["date"] = pd.to_datetime(df["date"], format="%Y-%m-%d")
获取df["date"]
和今天的项目之间的差异并进行过滤:
days_threshold = 60
filtered_ix = (pd.Timestamp("now") - df["date"]).dt.days < days_threshold
使用.loc
filtered_df = df.loc[filtered_ix]
要将经过过滤的行保存到具有文件路径output_sheet
的工作表output_path
上的Excel中,请使用df.to_excel
:
filtered_df.to_excel(output_path, sheet_name=output_sheet, index=False)