python - 从许多 txt 文件创建许多 df
问题描述
我在同一个目录中有许多随机名称的文本文件。我想创建与 txt 文件相同数量的数据帧。此 dfs 必须与 txt 文件同名。
import os
import numpy as np
import pandas as pd
ruta="/path/to/dir/"
files = [f for f in os.listdir(ruta) if f.endswith(".txt")]
#______________________________________________________________________________
#Apertura de los archivos de textos disponibles
tope=len(files)+1
for i in range(1,tope):
exec("e{}=open(ruta+files[i-1],mode='r', encoding='latin 1')".format(i))
这是我正在尝试的,但不完整。你还有什么建议吗?
谢谢。
解决方案
您绝对不希望创建任意数量的 DataFrame。我同意@ti7,您至少应该在字典中收集 DataFrame。
但是,如果文件包含兼容的表格数据,并且您希望将所有数据一起处理,则应将数据编译到单个 DataFrame 中,并带有一个额外的字段来标识原始文件:
files = [f for f in os.listdir(ruta) if f.endswith(".txt")]
df = pd.DataFrame()
for f in files:
df.append(pd.read_csv(f).assign(file_name=f))
推荐阅读
- unity3d - 如何检查刚体是否在移动?
- c - 在 C 中第二次执行函数时如何将 printf 打印到下一行?
- javascript - 表单验证后弹出Javascript激活
- azure - B2C - 自定义流程
- android - NestedScrollView 不显示所有内容
- css - (scss, css) 过渡,动画,不工作
- javascript - 用于匹配包含 URL 的字符串中的字母数字的正则表达式
- php - Laravel Eloquent COUNT(*) NO Result GroupBy()
- android - 如何通过单击 viewpager 中的一个片段中的按钮来在 viewpager 片段中发送数据?
- sql-server-2016 - 将 nvarchar 转换为浮点数