使用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)

关于, 亚历克斯

解决方法

保持数据框的创建并导出到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))

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...