gpt4 book ai didi

python - 如何从python中的两个文件夹导入excel文件

转载 作者:行者123 更新时间:2023-12-03 19:19:20 25 4
gpt4 key购买 nike

我最初有一段代码用于合并一个文件夹中的文件。然而,这项工作扩展到合并两个文件夹中的文件。我编辑了代码以首先添加两个文件夹中的文件列表。该部分正在工作,但在实际的 for 循环部分中不起作用。我认为这可能是因为当前的工作目录,但我不知道如何更改该部分。这是到目前为止我的代码:

files1 = os.listdir(folder1) #i just replaced the path with folder1
files2 = os.listdir(folder2) #i just replaced the path with folder2
files = files1 + files2

df = pd.DataFrame() #creating an empty dataframe
for f in files: #for loop in extracting and merging the files
data = pd.read_excel(f)
df = df.append(data, sort=False).reset_index(drop=True)

最佳答案

我们可以通过将文件夹名称添加到文件名来修复此代码:

import os
import pandas as pd

folder1 = 'folder1/'
folder2 = 'folder2/'

files1 = ["{}{}".format(folder1,file) for file in os.listdir(folder1)]
files2 = ["{}{}".format(folder2,file) for file in os.listdir(folder2)]
files = files1 + files2

print(files)

df = pd.DataFrame() #creating an empty dataframe
for f in files: #for loop in extracting and merging the files
data = pd.read_excel(f)
df = df.append(data, sort=False).reset_index(drop=True)

并将其移至辅助函数,就像 Alex 建议的那样,以便使代码更好。

编辑:带有辅助函数的代码:

import os
import pandas as pd

def listdir_fullpath(d):
return [os.path.join(d, f) for f in os.listdir(d)]

folder1 = 'folder1/'
folder2 = 'folder2/'

files1 = listdir_fullpath(folder1)
files2 = listdir_fullpath(folder2)
files = files1 + files2

print(files)

df = pd.DataFrame() #creating an empty dataframe
for f in files: #for loop in extracting and merging the files
data = pd.read_excel(f)
df = df.append(data, sort=False).reset_index(drop=True)

关于python - 如何从python中的两个文件夹导入excel文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59016463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com