1.读取已有excel文档,遍历所有姓名,日期,工时。 2.创建新文档,在第一列每一个人输出一遍姓名,在第二列从上到下输出姓名所对应出现的月份,在第三列开始从左到右一次输出第二列所在月份从一号到月末的工时,依次按顺序横排输出,未出现的时间输出0。 例如: xxx 五月 88800488************ 六月 88800888************ 七月 88800888************ xxx 五月 88800888************ 六月 88800888************
时间: 2023-08-08 16:06:24 浏览: 53
您可以使用Python的pandas库来读取和处理Excel文档。以下是一个示例代码,可以实现您所描述的需求:
```
import pandas as pd
# 读取已有的Excel文档
df = pd.read_excel('your_file.xlsx')
# 创建新文档的DataFrame
new_df = pd.DataFrame(columns=['姓名', '月份', '工时'])
# 遍历已有文档中的每一行
for index, row in df.iterrows():
name = row['姓名']
date = row['日期']
hours = row['工时']
# 提取月份
month = date.month_name()
# 将姓名、月份和工时添加到新文档的DataFrame中
new_df = new_df.append({'姓名': name, '月份': month, '工时': hours}, ignore_index=True)
# 按照姓名和月份排序新文档的DataFrame
new_df = new_df.sort_values(['姓名', '月份'])
# 创建新的Excel文件并写入数据
new_df.to_excel('new_file.xlsx', index=False)
```
请注意,上述代码假设已有的Excel文档中包含名为"姓名"、"日期"和"工时"的列。您需要根据实际情况修改列名。
在新文档中,姓名会在第一列中重复出现,月份会在第二列中从上到下输出,工时会从第三列开始按照您所描述的方式输出。
希望这可以帮助到您!如有任何问题,请随时提问。