загрузка нескольких файлов .txt в Python как датафрейм - PullRequest
2 голосов
/ 19 октября 2019

Я пытался загрузить несколько файлов .txt в Python, которые находятся на моем рабочем столе. Я совершенно новичок в Python. Моя цель - загрузить несколько файлов .txt, которые сохраняются в одном каталоге. Файлы .txt представляют собой простые тексты. Заранее спасибо за вашу помощь!

Ответы [ 2 ]

1 голос
/ 19 октября 2019

Вы могли бы сделать что-то вроде этого.


from collections import defaultdict
from pathlib import Path
import pandas as df

my_dir_path = "/parh/to/folder"

results = defaultdict(list)
for file in Path(my_dir_path).iterdir():
    with open(file, "r") as file_open:
        results["file_name"] = file.name
        results["text"].append(file_open.read())
df = pd.DataFrame(results)
0 голосов
/ 19 октября 2019

Это может быть излишне долго, но создает другой столбец для имен файлов, если вам нужно:

import os
import csv
import pandas as pd
main_folder = 'path\\to\\some_folder'

def get_filename(path):
    filenames = []
    files = [i.path for i in os.scandir(path) if i.is_file()]

    for filename in files:
        filename = os.path.basename(filename)
        filenames.append(filename)
    return filenames

files = get_filename(main_folder)

with open('some.csv', 'w',  encoding = 'utf8', newline = '') as csv_file:
    for _file in files:

        file_name = _file
        with open(main_folder +'\\'+ _file,'r') as f:
            text = f.read()

            writer = csv.writer(csv_file)
            writer.writerow([file_name, text])

df = pd.read_csv('some.csv')


 # ...then whatever...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...