需要获取存储在python pandas中列表元素中的数据帧长度

时间:2017-12-22 06:20:38

标签: python pandas

可以通过在循环中使用不同的变量名来解决此问题。但是,我需要检查是否可以找到可以存储数据帧的List元素的长度。

我编写了代码来读取存储在文件夹中的所有.csv文件。我创建了包含字符的列表。现在,我正在从一个文件夹中逐个读取csv文件,并将其作为数据帧存储在列表元素中。因此,列表的所有元素都包含通过读取csv文件获得的数据帧。即,列表元素0 - " a"包含一个数据框,列表元素1 - " b"包含其他数据框等。我需要找到列表元素所包含的数据帧的长度。我使用len(),但这反映了列表的唯一长度。请建议我一些解决方案。

下面提到的是代码。

url = "C:/Users/SONY/Desktop/SEdge/Proec/Day/Master Files/20-12-2017/"

count = 0;

lst = ["a", "b", "c", "d"]

os.chdir(url)

for file in glob.glob("*.csv"):

    join = url + file;

    lst[count] = pd.read_csv(join)

    count +=1;

打印(LEN(LST [1]))

1 个答案:

答案 0 :(得分:2)

您无法将数据存储在字符串中。您必须将它们存储在变量中。由于您循环遍历一堆csv文件,因此opt数据结构是字典。即

改进您自己的代码:

lst = ['a','b','c','d']
di = {} 

for count, file in enumerate(glob.glob("*.csv")):
    join = url + file;
    di[lst[count]] = pd.read_csv(join)

di['a']存储第一个csv文件。同样di['b]第二个,依此类推。

现在,如果你执行len(di[lst[1]]),这将为您提供csv文件1的长度。

有关数据结构的更多详细信息,建议您浏览the documentation