如何创建一个for循环来在Python中创建数据帧?

时间:2017-07-30 18:58:12

标签: python python-3.x for-loop dataframe

我在一个文件夹中有732个.txt文件。

我想为每个人制作一个独特的Pandas数据帧,但不要一个接一个地手动完成。

有没有办法在Python中打开所有文件并使用for循环为每个文件创建日期框架?有人能为我提供一个起始代码示例吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

听起来你想要使用Pandas来阅读一堆CSV。如果他们全部在同一个目录中,并且没有其他任何扩展名为.txt的内容,则可以使用

import glob
files = glob.glob('./*.txt')

获取相关文件列表。

然后,您可以使用列表推导来获取数据帧列表:

import pandas as pd
dfs = [pd.read_csv(f) for f in files]

使用read_csv所需的任何参数。

答案 1 :(得分:1)

以下伪代码应打开任何给定目录中的所有.txt文件,并帮助您为每个文件构建数据框。它不使用glob,因为glob很慢:

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)