Проблема в том, что ваш os.listdir
дает вам список имен файлов внутри dirpath
, а не полный путь к этим файлам. Вы можете получить полный путь, добавив dirpath
к именам файлов с помощью функции os.path.join
.
import os
import pandas as pd
dirpath = 'C:\Files\Code\Analysis\Input\qobs_RR1\\'
output = 'C:\Files\Code\Analysis\output\qobs_CSV.csv'
csvout_lst = []
files = [os.path.join(dirpath, fname) for fname in os.listdir(dirpath)]
for filename in sorted(files):
data = pd.read_csv(filename, sep=':', index_col=0, header=None)
csvout_lst.append(data)
pd.concat(csvout_lst).to_csv(output)
Редактировать: это можно сделать с помощью одной строки:
pd.concat(
pd.read_csv(os.path.join(dirpath, fname), sep=':', index_col=0, header=None)
for fname in sorted(os.listdir(dirpath))
).to_csv(output)
Редактировать 2: обновил ответ, поэтому список файлов отсортирован по алфавиту.