CSV отчет и график
बनाया गया: 18 जनवरी 2025
बनाया गया: 18 जनवरी 2025
Reading and visualizing data
I’m thinking through how to read CSV data with Python, likely using Pandas. Next, I’ll format the data in a text file. Finally, I’ll create a line chart using matplotlib to visualize boredom, interest, confusion, and concentration over time.
Crafting with Pandas and matplotlib
I’m assembling Pandas to load data, PrettyTable for formatting, and matplotlib for a line chart. Considering embedding or saving the chart as an image or ASCII for the text file.
Synthesizing details
I’ve confirmed the Python code will read CSV data, format a text file with tables, and generate a line chart showing boredom, interest, confusion, and concentration over time.
Crafting the report
I’m pulling data from a CSV, formatting it into tables with PrettyTable, and creating a line chart with matplotlib. The chart will depict boredom, interest, confusion, and concentration over time.
Thought about data visualization and processing для 11 секунд
Ниже приведён пример кода на Python, который:
time, thought_data, action_data, boredom, interest, confusion, concentration
).time
, а по оси Y — четыре метрики: boredom
, interest
, confusion
, concentration
.Код использует библиотеки pandas, prettytable и matplotlib.
Убедитесь, что эти библиотеки установлены (например, через pip install pandas prettytable matplotlib
).
import pandas as pd import matplotlib.pyplot as plt from prettytable import PrettyTable def create_report(input_csv: str, output_txt: str, output_chart: str): """ Считывает данные из CSV-файла, создает текстовый отчет с таблицей и строит линейную диаграмму по показателям boredom, interest, confusion, concentration. """ # 1. Читаем CSV в DataFrame df = pd.read_csv(input_csv) # 2. Создаем текстовую таблицу с помощью PrettyTable table = PrettyTable() table.field_names = df.columns.tolist() # Заголовки совпадают с названиями колонок # Добавляем строки в таблицу for row in df.itertuples(index=False): table.add_row(row) # 3. Сохраняем таблицу в текстовом файле with open(output_txt, 'w', encoding='utf-8') as f: f.write("Отчет по данным из файла: {}\n\n".format(input_csv)) f.write("Таблица значений:\n") f.write(str(table)) f.write("\n\n") f.write("Примечание: столбцы time, thought_data, action_data, boredom, interest, confusion, concentration\n") # 4. Строим линейную диаграмму plt.figure(figsize=(10, 6)) # Размер графика в дюймах plt.plot(df['time'], df['boredom'], label='boredom') plt.plot(df['time'], df['interest'], label='interest') plt.plot(df['time'], df['confusion'], label='confusion') plt.plot(df['time'], df['concentration'], label='concentration') plt.xlabel('Time') plt.ylabel('Value') plt.title('Динамика boredom, interest, confusion, concentration во времени') plt.legend() # Сохраняем график в файл (например, в PNG) plt.savefig(output_chart, dpi=300) plt.close() print(f"Отчет сохранён в файл: {output_txt}") print(f"График сохранён в файл: {output_chart}") def main(): # Задаём пути к файлам input_csv = 'data.csv' # Здесь укажите путь к вашему CSV-файлу output_txt = 'report.txt' # Туда будет сохранена текстовая таблица output_chart = 'chart.png' # Туда будет сохранён график # Создаем отчет create_report(input_csv, output_txt, output_chart) if __name__ == "__main__": main()
Как пользоваться:
data.csv
) в ту же папку, где лежит скрипт.input_csv
, output_txt
, output_chart
).python script.py
).report.txt
(текстовый отчёт с таблицей) и chart.png
(линейная диаграмма).При желании можно дополнительно улучшить оформление: добавить стили для таблицы, более детальное описание, комментарии к графику и т.д.