Вы получаете ошибку разрешения, потому что tfilename
и xfilename
в конечном итоге представляют собой путь к каталогу, а не к файлу. Вы можете проверить это, используя print
вместо read_csv
и read_excel
:
Tpath = r'\some\path\txt'
Xpath = r'\some\path\xls'
for tfilename in glob.glob(os.path.join(Tpath)):
for tfile in os.listdir(Tpath):
for xfilename in glob.glob(os.path.join(Xpath)):
for xfile in os.listdir(Xpath):
if (xfile[:-4] == tfile[:-4]):
print(tfilename)
print(xfilename)
Выходы
'\some\path\txt'
'\some\path\xls'
Перед открытием файлов вам нужно присоединить имена файлов к путям, например
tdf = pd.read_csv(os.path.join(tfilename, tfile))
xdf = pd.read_excel(os.path.join(xfilename, xfile))
В этот момент вы можете изменить имена tfilename
и xfilename
, чтобы весь код стал более понятным.
Кроме того, я не уверен, почему ваш код вызывает os.path.join
с одним аргументом. Это никак не влияет.