CSV отчет и график

बनाया गया: 18 जनवरी 2025

का उपयोग करके उत्तर दिया गया OpenAI 01 द्वारा OpenAI01

प्रश्न

time,thought_data,action_data,boredom,interest,confusion,concentration
0.0,I didn't do a key.,,0.032501220703125,0.00470733642578125,0.113037109375,0.02197265625
напиши код на питоне который по данным из .csv файла с такой же структурой будет создавать текстовый файл с данными из таблицами и линейной диаграммой (ось X - time; ось Y boredom,interest,confusion,concentration). лучше всего чтобы это было красиво оформлено

विचार

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, который:

  1. Считывает данные из CSV-файла (со структурой, аналогичной указанной: time, thought_data, action_data, boredom, interest, confusion, concentration).
  2. Формирует в текстовом файле красивую таблицу с данными.
  3. Создаёт линейную диаграмму, где по оси X — 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()

Как пользоваться:

  1. Поместите ваш CSV-файл (например, data.csv) в ту же папку, где лежит скрипт.
  2. Отредактируйте (при необходимости) пути к файлам (input_csv, output_txt, output_chart).
  3. Запустите скрипт (например, python script.py).
  4. В результате появятся файлы report.txt (текстовый отчёт с таблицей) и chart.png (линейная диаграмма).

При желании можно дополнительно улучшить оформление: добавить стили для таблицы, более детальное описание, комментарии к графику и т.д.

इस प्रश्नोत्तर को साझा करें