【问题标题】:Merge all txt files in dataframe pandas合并数据框熊猫中的所有txt文件
【发布时间】:2022-01-19 19:44:16
【问题描述】:

我的文件夹中有一系列 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')

【问题讨论】:

    标签: python pandas txt


    【解决方案1】:

    您可以尝试使用字典并将其转换为数据框。

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

    【讨论】:

      【解决方案2】:

      你可以尝试运行这样的东西:

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

      【讨论】:

        猜你喜欢
        • 2019-06-20
        • 2013-09-26
        • 1970-01-01
        • 2014-07-02
        • 2022-07-07
        • 2017-08-13
        • 2018-09-16
        • 1970-01-01
        相关资源
        最近更新 更多