使用 Python 将 for 循环结果添加到 Excel 电子表格

我正在尝试创建一个小应用程序,它可以识别目录中文件夹的名称,并将它们放在一个漂亮的 Excel 电子表格中。


但是,每当我运行该应用程序时,for 循环的结果都会在 Excel 电子表格中被覆盖,并且我总是最终只有一行,而不是循环产生的所有行。


您能看一下我的代码并就我做错了什么提出建议吗?


import os

import pandas as pd


CCM = "C:\Electronical Files\Drivers\CCM"


f = open("CCMs.txt", "w", encoding="utf-8")

f.close()


for crew in os.listdir(CCM):

    full_name = crew.split(", ")

    first_name = full_name[1]

    last_name = full_name[0]


    df = pd.DataFrame({"First name": [first_name], "Last name": [last_name]})

    df.to_excel("./CMMs.xlsx", sheet_name="CMMs")


    f = open("CCMs.txt", "a", encoding="utf-8")

    f.write(crew + "\n")

    f.close()


    print(first_name + " " + last_name)


慕莱坞森
浏览 337回答 1
1回答

摇曳的蔷薇

保持数据帧创建并导出到 Excel,直到循环完成。相反,您可以将名称收集在将用于创建数据框的列表中names = []for crew in os.listdir(CCM):    names.append(crew.split(', ')[::-1])df = pd.DataFrame(names, columns=['First Name', 'Last Name'])df.to_excel('./CMMs.xlsx', sheet_name='CMMs')with open('CCMs.txt', 'w', encoding='utf-8') as f:    f.write('\n'.join(names))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python