Перечислите все имена файлов в формате «.csv», а затем введите соответствующий код для построения графика. - PullRequest
0 голосов
/ 27 мая 2019

Существует папка, которая содержит много данных, например, папка содержит файлы ".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 Ответ

1 голос
/ 27 мая 2019

Если у вас возникли проблемы с тем, что файлы не перечислены в правильном порядке, вы можете просто отсортировать список имен файлов следующим образом:

>>> 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...