Python pandas 填充时间日期数据 - Excel 自动生成 P2 工作表
您可以使用 Python 中的 pandas 库来实现这个任务。首先,您需要安装 pandas 库,可以使用以下命令安装:
pip install pandas
然后,您可以使用以下代码来实现您的需求:
import pandas as pd
# 读取 input-2.xlsx 文件中的 P1 工作表
df = pd.read_excel('input-2.xlsx', sheet_name='P1')
# 将第一列的时间日期数据转换为日期类型
df['日期'] = pd.to_datetime(df['日期'])
# 创建一个新的 DataFrame 用于保存结果
result_df = pd.DataFrame(columns=['日期'])
# 遍历第一列的时间日期数据
for i in range(len(df)-1):
date1 = df.loc[i, '日期']
date2 = df.loc[i+1, '日期']
delta = date2 - date1
# 判断相邻时间日期间隔是否大于 10 天
if delta.days > 10:
# 计算插入日期的中间值
insert_date = date1 + pd.DateOffset(days=delta.days//2)
# 将插入日期加入结果 DataFrame
result_df = result_df.append({'日期': insert_date}, ignore_index=True)
# 判断插入日期与上下日期的间隔是否大于 10 天
while delta.days > 10:
# 更新上一次插入的日期
date1 = insert_date
# 计算插入日期的中间值
insert_date = date1 + pd.DateOffset(days=delta.days//2)
# 将插入日期加入结果 DataFrame
result_df = result_df.append({'日期': insert_date}, ignore_index=True)
# 更新相邻时间日期间隔
delta = date2 - insert_date
# 将相邻时间日期加入结果 DataFrame
result_df = result_df.append({'日期': date2}, ignore_index=True)
# 将结果保存到新的工作表 P2
with pd.ExcelWriter('input-2.xlsx', mode='a') as writer:
result_df.to_excel(writer, sheet_name='P2', index=False)
请注意,此代码假设 input-2.xlsx 文件已经存在,并且其中已经包含了 P1 工作表。代码会在现有文件的基础上添加一个新的 P2 工作表,并将结果保存在其中。
原文地址: https://www.cveoy.top/t/topic/fTwD 著作权归作者所有。请勿转载和采集!