|
|
发表于 2023-3-16 11:44:15
|
显示全部楼层
本楼为最佳答案
 你好!从你的代码中,我发现了一个小问题。在判断Ex_filevolume == data['档案编号'].shape[0]这个条件的时候,实际上在循环中永远无法满足这个条件,
因为Ex_filevolume的取值范围是0到data['档案编号'].shape[0] - 1。因此,你需要将条件改为Ex_filevolume == data['档案编号'].shape[0] - 1。
下面是修改后的代码:
- import pandas as pd
- import os
- data = pd.read_excel('项目01.xlsx', sheet_name='Sheet1')
- Target_filename = os.listdir('I:\对比工作预备\')
- New_list = []
- for Tar_filevolume in range(len(Target_filename)):
- found = False
- for Ex_filevolume in range(data['档案编号'].shape[0]):
- if Target_filename[Tar_filevolume][:16] == data['档案编号'].loc[Ex_filevolume]:
- X = Target_filename[Tar_filevolume][:16] + '已归档'
- New_list.append(X)
- found = True
- break
- else:
- if Ex_filevolume == data['档案编号'].shape[0] - 1:
- y = Target_filename[Tar_filevolume][:16] + '未归档'
- New_list.append(y)
- else:
- continue
- if not found:
- y = Target_filename[Tar_filevolume][:16] + '未归档'
- New_list.append(y)
- Writer = pd.ExcelWriter('项目01.xlsx', mode='a')
- New_excel = pd.DataFrame(New_list)
- New_excel.to_excel(Writer, sheet_name='Sheet2')
- Writer.close()
复制代码
这样应该可以正确处理未归档的编号,并将其写入到新表Sheet2中。希望这能帮到你!如果有其他问题,请随时提问。 |
|