如何创建for循环以在Python中创建数据帧?
我在一个文件夹中有732.txt文件 我想为它们中的每一个创建一个独特的数据帧,但不需要逐个手动执行 有没有办法用Python打开所有文件,并使用for循环为每个文件创建日期框?有人能给我一个起始代码示例吗如何创建for循环以在Python中创建数据帧?,python,python-3.x,for-loop,dataframe,Python,Python 3.x,For Loop,Dataframe,我在一个文件夹中有732.txt文件 我想为它们中的每一个创建一个独特的数据帧,但不需要逐个手动执行 有没有办法用Python打开所有文件,并使用for循环为每个文件创建日期框?有人能给我一个起始代码示例吗 谢谢大家! 听起来你想用熊猫来读一堆CSV。如果它们都在同一个目录中,并且没有其他扩展名为.txt的文件,那么可以使用 import glob files = glob.glob('./*.txt') 获取相关文件的列表 然后,您可以使用列表理解来获取数据帧列表: import panda
谢谢大家! 听起来你想用熊猫来读一堆CSV。如果它们都在同一个目录中,并且没有其他扩展名为.txt的文件,那么可以使用
import glob
files = glob.glob('./*.txt')
获取相关文件的列表
然后,您可以使用列表理解来获取数据帧列表:
import pandas as pd
dfs = [pd.read_csv(f) for f in files]
下面的伪代码将打开任何给定目录中的所有.txt文件,并帮助您为每个文件构建数据帧。它不使用glob,因为glob很慢:
你所说的数据帧是什么意思?顺便说一下,答案可能是肯定的。循环是一个接一个地运行的one@Fabien我猜她的意思是“不用手动操作”。我更新了这个问题。你可以把它简化为一个列表理解,这样它就变成了一个目录。现在怎么办?导入操作系统必须添加到文件代码的最顶端。这是一个标准的python模块,因此如果正确导入,则不应出现此错误。@Lauren这可能是因为您没有编写第一行:导入os。这样做了,现在它创建了一个名为“dir”的字符串,其中包含指向.txt文件所在文件夹的文件路径。但是我现在如何构建数据帧呢?
import os
dir = '/where/your/txts/are/'
for filename in os.listdir(dir):
if filename.endswith('.txt'):
content = open(dir+filename, 'r').read()
dataframe = build_your_dataframe(content)