Считайте несколько файлов * .txt в Pandas Dataframe с именем файла в качестве заголовка столбца.

Я пытаюсь импортировать набор файлов * .txt. Мне нужно импортировать файлы в последовательные столбцы Pandas DataFrame в Python.

Требования и справочная информация:

Каждый файл имеет один столбец чиселВ файлах нет заголовковВозможны положительные и отрицательные целые числаРазмер всех файлов * .txt одинаковСтолбцы DataFrame должны иметь имя файла (без расширения) в качестве заголовкаКоличество файлов не известно заранее

Вот один пример * .txt файла. Все остальные имеют одинаковый формат.

16
54
-314
1
15
4
153
86
4
64
373
3
434
31
93
53
873
43
11
533
46

Вот моя попытка:

import pandas as pd
import os
import glob

# Step 1: get a list of all csv files in target directory
my_dir = "C:\\Python27\Files\\"
filelist = []
filesList = []
os.chdir( my_dir )

# Step 2: Build up list of files:
for files in glob.glob("*.txt"):
    fileName, fileExtension = os.path.splitext(files)
    filelist.append(fileName) #filename without extension
    filesList.append(files) #filename with extension

# Step 3: Build up DataFrame:
df = pd.DataFrame()
for ijk in filelist:
    frame = pd.read_csv(filesList[ijk])
    df = df.append(frame)
print df

Шаги 1 и 2 работают. У меня проблемы с шагом 3. Я получаю следующее сообщение об ошибке:

Traceback (most recent call last):
  File "C:\Python27\TextFile.py", line 26, in <module>
    frame = pd.read_csv(filesList[ijk])
TypeError: list indices must be integers, not str

Вопрос: Есть ли лучший способ загрузить эти * .txt файлы в фрейм данных Pandas? Почему read_csv не принимает строки для имен файлов?

Ответы на вопрос(2)

Ваш ответ на вопрос