FileNotFoundError: Файл b'.txt 'не существует - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь сделать фрейм данных из нескольких файлов .txt.Может быть важно сказать, что эти файлы .txt раньше были файлами .dat, которые я только что преобразовал, изменив .dat на .txt.Во всяком случае, он открывается обычно с двойным щелчком мыши.

Мой код:

path = "/home/marlon/Shift One/Projeto Philips/Consolidação de Arquivos/dados/17448"

files = []
for i in os.listdir(path):
    if os.path.isfile(os.path.join(path,i)):
        files.append(i)

df = pd.DataFrame()
for i in files:
    frame = pd.read_csv(i)
    df = df.append(frame)
print(df)

Вывод:

...

  File "pandas/_libs/parsers.pyx", line 384, in pandas._libs.parsers.TextReader.__cinit__

  File "pandas/_libs/parsers.pyx", line 695, in pandas._libs.parsers.TextReader._setup_parser_source

FileNotFoundError: File b'monitor_System_HumTechRoom.txt' does not exist

Спасибо за помощь!

1 Ответ

0 голосов
/ 24 мая 2019

Ваш список "файлов" содержит только содержимое каталога "путь" вместо абсолютных путей к файлам в нем. Панды ищут "monitor_System_HumTechRoom.txt" вместо "/ home / marlon / Shift One / Projeto Philips / Consolidaça de Arquivos / dados / 17448 / monitor_System_HumTechRoom.txt", следовательно, FileNotFoundError. Правильно ли я понимаю, что вы хотите прочитать все файлы из каталога как csvs в один кадр данных, а затем распечатать кадр данных?

Нет необходимости повторять цикл дважды. Попробуйте что-то вроде этого:

csvdir = "/home/marlon/Shift One/Projeto Philips/Consolidação de Arquivos/dados/17448"

dataframes = []
for csv in os.listdir(csvdir):
    fullpath = os.path.join(csvdir, csv)
    if os.path.isfile(fullpath):
        # Read a csv into a dataframe and append to a list of dataframes
        dataframe = pd.read_csv(fullpath)
        dataframes.append(dataframe)

# Concatenate all created dataframes into one
df = pd.concat(dataframes)
print(df)
...