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

时间:2019-05-27 12:48:47

标签: python

有一个包含大量数据的文件夹,例如,该文件夹包含“ .html”文件,“。jpeg”文件,“。pdf”文件,“。csv”文件(有很多“ .csv” excel包含不同文件名的文件夹中的工作表)。这是仅列出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))
            test_folders = os.listdir(path) 
for f in files:
    print(f)
file_code = int(input("Enter Corresponding code to plot: "))

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

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)

您可以跳过加入路径。

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(file)
for i, f in enumerate(files):
    print("%d-%s"%( i,f))
    csv_code = int(input("Enter corresponding code to plot: "))
    csv_path = os.path.join(path, files[csv_code])

    df = pd.read_csv(csv_path, header=None)
    #df1 = df[0:2]
    df1 = df.iloc[:,0:2]
    plt.plot(df1[0], df1[1])