这段代码常因result结果出不来而无法继续继续运行,帮我加个条件判断,如果result没有结果就跳过,直到所有文件都遍历一遍并且录入csv中。import csv import os import json from IPython import display pic_folder_path = "./期末作业-面部数据/face_images/a1" output_list = [] for filename in os.listdir(pic_folder_path): if filename.endswith(".jpg"): pic_path = os.path.join(pic_folder_path, filename) result = main(pic_path) # 调用主函数获取结果 result_dict = json.loads(result)["result"]["face_list"] for item in result_dict: output_list.append({ "face_token": item["face_token"], "emotion": item["emotion"]["type"] }) # 将结果保存为csv文件 with open("output.csv", "a", newline="") as f: writer = csv.DictWriter(f, fieldnames=["face_token", "emotion"]) #writer.writeheader() writer.writerows(output_list)
时间: 2024-03-11 18:43:39 浏览: 69
好的,以下是加入条件判断后的代码:
```
import csv
import os
import json
from IPython import display
pic_folder_path = "./期末作业-面部数据/face_images/a1"
output_list = []
for filename in os.listdir(pic_folder_path):
if filename.endswith(".jpg"):
pic_path = os.path.join(pic_folder_path, filename)
result = main(pic_path) # 调用主函数获取结果
if "result" not in result or "face_list" not in json.loads(result)["result"]:
continue
result_dict = json.loads(result)["result"]["face_list"]
for item in result_dict:
output_list.append({
"face_token": item["face_token"],
"emotion": item["emotion"]["type"]
})
# 将结果保存为csv文件
with open("output.csv", "a", newline="") as f:
writer = csv.DictWriter(f, fieldnames=["face_token", "emotion"])
#writer.writeheader()
writer.writerows(output_list)
```
这里我们加入了一个条件判断,如果 `result` 中不存在 `"result"` 键或者 `"face_list"` 键,那么就跳过当前的循环,继续处理下一个文件。这样就可以保证即使其中某些文件获取不到结果也能够继续遍历下一个文件,最终将所有可以获取到结果的文件的结果保存在 `output_list` 列表中并写入到 `output.csv` 文件中。
阅读全文