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

2024-06-26 00:00:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个小应用程序,它可以识别目录中文件夹的名称,并将它们放在一个漂亮的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)

问候,, 亚历克斯


Tags: nameimport应用程序forosopenccmexcel
1条回答
网友
1楼 · 发布于 2024-06-26 00:00:44

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

相关问题 更多 >