Как я могу прочитать несколько CSV-файлов из одного каталога и построить их отдельно в Python? - PullRequest
0 голосов
/ 06 мая 2019

Я хочу прочитать CSV-файлы из каталога и построить их, а также нажать кнопку со стрелкой, чтобы просмотреть график и посмотреть на другой график.Я хочу указать, какой столбец и иметь возможность его заголовка, а также я имею в коде ниже.

Я могу прочитать файл CSV и построить один график с конкретными столбцами, но я неуверен, как это сделать с несколькими.Я пробовал glob, но это не сработало, я не хочу объединять их в один CSV-файл.Я предоставил свой код ниже.Любая помощь будет оценена.Спасибо.

import pandas as pd
import matplotlib.pyplot as plt


cols_in = [1, 3]
col_name = ['Time (s), Band (mb)']

df = pd.read_csv("/user/Desktop/TestNum1.csv", usecols = cols_in, names = 
col_name, header = None)
fig, ax = plt.subplots()
my_scatter_plot = ax.scatter(df["Time (s)"], df["Band (mb)"])

ax.set_xlabel("Time (s)")
ax.set_ylabel("Band (mb)")
ax.set_title("TestNum1")
plt.show()

1 Ответ

0 голосов
/ 06 мая 2019

Вам просто нужно добавить цикл for ко всем файлам и использовать glob для их сбора.

Например,

import pandas as pd
import matplotlib.pyplot as plt
import glob


cols_in = [1, 3]
col_name = ['Time (s), Band (mb)']

# Select all CSV files on Desktop
files = glob.glob("/user/Desktop/*.csv")

for file in files:

    df = pd.read_csv(file, usecols = cols_in, names = 
    col_name, header = None)

    fig, ax = plt.subplots()
    my_scatter_plot = ax.scatter(df["Time (s)"], df["Band (mb)"])

    ax.set_xlabel("Time (s)")
    ax.set_ylabel("Band (mb)")
    ax.set_title("TestNum1")
    plt.show()

Хранение plt.show() внутриfor цикл обеспечит построение каждого графикаДолжно быть довольно легко найти «Как добавить заголовок к сюжету в python», чтобы найти ответы на другие ваши вопросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...