簡體   English   中英

合並dataframe pandas中的所有txt文件

[英]Merge all txt files in dataframe pandas

我在一個文件夾中有一系列 txt 文件,我想將這些文件移動到數據框中

但我只能通過保存 csv 文件來做到這一點,如何直接使用數據幀而無需保存到 csv 文件?

按照我下面的代碼

import os
import csv
import pandas as pd
main_folder = ('F:\PROJETOS\LOTE45\ARQUIVOS\RISK\RISK_CUSTOM_FUND_N1'

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')

你可以嘗試運行這樣的東西:

df = pd.DataFrame()
for _file in files:
    df = df.append(pd.read_csv(_file),  ignore_index=True, sort=False)

您可以嘗試使用字典並將其轉換為 dataframe。

# your code to obtain the files
data = {"filename":[], "text":[]}
for file in files:
    with open(file, "r") as file_object:
        content = file_object.read()
    data["filename"].append(file)
    data["text"].append(content)

dataframe = pd.DataFrame(data)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM