Переменная не определена после перечисления объекта glob.glob - PullRequest
0 голосов
/ 22 мая 2018

В настоящее время у меня есть этот код:

os.listdir("V:/FM003")
results = pd.DataFrame([])
for counter, file in enumerate(glob.glob("F5331_FM003**")):
    namedf = pd.read_csv(file, header=[0], skiprows=[0,1,2,3,4,5,6],  
    index_col=[0], usecols= [0,1])
    results = results.append(namedf)
print(namedf)

Он продолжает выдавать ошибку «имя« namedf »не определено».Может кто-нибудь помочь мне с тем, как правильно написать это, пожалуйста?Я немного озадачен.

Ответы [ 3 ]

0 голосов
/ 22 мая 2018

на самом деле я думаю, что ваша проблема в том, что ваш глобус не имеет доступа к нужной папке.Следовательно, такой файл не найден.

Предполагая, что вы ищете файлы в каталоге V: / FM003, вы можете рассмотреть возможность использования:

for counter, file in enumerate(glob.glob("V:/FM003/F5331_FM003**")):
0 голосов
/ 22 мая 2018

Согласно документам :

glob.glob ( путь, *, рекурсивный = False )

Возвращает возможно пустой список имен путей, которые совпадают с путем, который должен быть строкой, содержащей спецификацию пути .

Надежный способ создания такой спецификации путидолжен использовать os.path.join:

import os

folder = r'V:/FM003'
files = r'F5331_FM003**'
paths = os.path.join(folder, files)

for counter, file in enumerate(paths):
    ....
0 голосов
/ 22 мая 2018

Вы определили "namedf" внутри цикла for и распечатали его вне цикла for.Просто напишите ваше заявление на печать в той же области.

os.listdir("V:/FM003")
results = pd.DataFrame([])
for counter, file in enumerate(glob.glob("F5331_FM003**")):
    namedf = pd.read_csv(file, header=[0], skiprows=[0,1,2,3,4,5,6],  
    index_col=[0], usecols= [0,1])
    results = results.append(namedf)
    print(namedf)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...