列出所有“ .csv”文件名,然后输入相应的代码以绘制图形

时间:2019-05-27 11:15:10

标签: python matplotlib

有一个包含大量数据的文件夹,例如,该文件夹包含“ .html”文件,“。jpeg”文件,“。pdf”文件,“。csv”文件(有很多“ .csv” excel包含不同文件名的文件夹中的工作表)。这是仅列出csv文件的代码。

有没有一种方法,当我列出所有“ .csv”文件时,我将输入相应的代码以绘制图形。

    import os
    path = "F:\\Users\\Desktop\\Data\\Summary"
    files = []
    # r=root, d=directories, f = files
    for r, d, f in os.walk(path):
        for file in f:
            if '.csv' in file:
                files.append(os.path.join(r, file))
    for f in files:
        print(f)

当我运行上面的代码时,我得到的输出为:

F:\\Users\\Desktop\\Data\\Summary\Test_Summary_1.csv 
F:\\Users\\Desktop\\Data\\Summary\Test_Summary_2.csv
F:\\Users\\Desktop\\Data\\Summary\Test_Summary_3.csv

实际上我希望输出显示为:

0-Test_Summary_1.csv
1-Test_Summary_2.csv
2-Test_Summary_3.csv
3-Test_Summary_4.csv
4-Test_Summary_5.csv
5-Test_Summary_6.csv etc

我如何对其进行修改以达到上述要求?

1 个答案:

答案 0 :(得分:1)

如果遇到文件没有按正确顺序列出的麻烦,您可以按以下方式对文件名列表进行排序:

>>> x = ['abc_1.csv', 'abc_2.csv', 'abc_0.csv'] 
>>> x.sort()
>>> x
['abc_0.csv', 'abc_1.csv', 'abc_2.csv']

如果您知道要绘制哪些csv数据。您可以按照以下步骤将文件读取到numpy数组中

from numpy import loadtxt
data = loadtxt(filename, delimiter=',')

然后您可以使用matplotlib绘制数据

import matplotlib.pyplot as plt
plt.plot(data[:,0], data[:,1], 'ro')
plt.show()