|
0 / 0 / 0
Регистрация: 23.05.2017
Сообщений: 65
|
||||||
Графики в Python из csv файлов16.03.2019, 13:45. Показов 8626. Ответов 7
Всем привет! Появилась необходимость строить множество графиков из нескольких файлов csv. Раньше делал в Matlab, но сейчас слишком много файлов и каждый из них импортировать кажется нерациональным. Поэтому написал программку на Python. Она автоматом берет два файла из директории с именами A.csv и B.csv и формирует из данных график.
Но... Теперь хочется уже сделать не чтобы работало, а чтобы работало хорошо. Хотелось бы чтобы не было ограничения на количество входных данных (файлов csv) и чтобы не нужно было переименовывать их в A и B. Просто чтобы программа искала в текущей директории все файлы с форматом CSV и выдавала все данные на график. Рабочий код с двумя входными файлами прилагаю ниже: Кликните здесь для просмотра всего текста
И в принципе, хотелось бы посмотреть как опытные питонисты изменили бы код, чтобы он работал быстрее (хотя это не принципиально, т.к. главное результат, который кстати выглядит следующим образом:
0
|
||||||
| 16.03.2019, 13:45 | |
|
Ответы с готовыми решениями:
7
Python.csv.library создать функции удаления и редактирования данных о книге, хранящихся в csv Чтение из файлов timeline.csv и people.csv. Вывести информацию из них. Разбиение CSV файла на много csv файлов по разделителю |
|
17 / 12 / 5
Регистрация: 21.07.2018
Сообщений: 59
|
|
| 16.03.2019, 18:31 | |
|
Примерное содержимое csv файла , будьте любезны.
0
|
|
|
0 / 0 / 0
Регистрация: 23.05.2017
Сообщений: 65
|
|
| 16.03.2019, 23:05 [ТС] | |
|
MasloriyKaryman, в CSV файле начиная с 19 строки нужны данные из 3 и 4 колонок. Там нецелые числа. По X - 3 столбец, по Y - 4 столбец. Всего 2500 строк.
0
|
|
|
17 / 12 / 5
Регистрация: 21.07.2018
Сообщений: 59
|
||||||
| 17.03.2019, 01:20 | ||||||
|
Кликните здесь для просмотра всего текста
Что-то в этом роде. Понятное дело, что можно распараллелить , и еще каким-то образом оптимальнее реализовать. В чём отличие от Вашего кода : 1. Cчитывание файла и его построение вынесено в цикл. 2. используется функция islice() - чтение файла начинается с 19 строки. Вообще , если есть возможность, можно использовать pandas - тогда строчек кода станет еще меньше.
0
|
||||||
|
0 / 0 / 0
Регистрация: 23.05.2017
Сообщений: 65
|
||
| 17.03.2019, 02:30 [ТС] | ||
|
Чтобы этого избежать, я просто к Y координате первого файла добавляю 0.5, а каждый последующий файл делю на 10 в степени "номер файла - 1". Это все происходит вследствие того, что эти данные получаются из осциллографа. А там своя система координат определяет выходные данные, т.е. синхронизирующий сигнал (первый файл) на уровне 0,5, а значит каждый последующий смещается на 0.5 вниз, и его выходные данные так же смещаются. А вот с pandas пробовал, но документации особо не нашел и решил сделать средствами CSV.
0
|
||
|
17 / 12 / 5
Регистрация: 21.07.2018
Сообщений: 59
|
|||||||||||
| 17.03.2019, 08:58 | |||||||||||
|
Так Вы про это ясно не указали.
![]() В таком случае: Чуть-чуть модернизируем функцию, добавляя счётчик
А сам цикл выглядит следующим образом:
0
|
|||||||||||
|
|
||
| 17.03.2019, 12:30 | ||
|
Добавлено через 2 минуты В pandas для чтения csv применяется функция pandas.read_csv, которая умеет все: и прочитать с нужной строчки, и автоматически определить delimiter и т.д.
0
|
||
| 17.03.2019, 15:08 | |
|
Garry Galler, Вы как всегда меня поражаете. А есть что-нибудь, чего Вы не знаете?
)))
0
|
|
| 17.03.2019, 15:08 | |
|
Помогаю со студенческими работами здесь
8
Python работа с csv Python работа с csv Python, Tkinter, csv Python, модуль csv Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|