У меня есть список файлов csv, хранящихся на моем сервере, и я использую d3js для отображения их пользователям, использующим рендеринг таблицы с d3.js, и я использую django для работы на стороне сервера. Тем не менее, я хочу добавить новую функцию, то есть когда пользователь щелкнет значение в таблице, они могут их изменить, и, разумеется, изменения также используются в истинном файле (тот, который я сохранил на сервере). Моя идея заключается в том, что каждое значение имеет значение row и col id, а когда пользователь меняет значение, я использую ajax, передавая новое значение и идентификатор col-col на сервер, на стороне сервера есть функция, которая изменяет файл csv с этими тремя входами. Я хотел бы знать, есть ли какие-либо демо или другой лучший способ справиться с этой задачей. Большое спасибоd3js с django/python изменить файл csv
ответ
Как правило, я избегаю вашего подхода, используя чистые файлы на основе csv.
Постоянная дисковая/операция ввода-вывода является дорогостоящей для сервера (Read this FAQ может помочь вам понять больше), и может ввести условие гонки с несколькими пользователей пытаются обновить ту же таблицу, что CSV будет =>чтения/записи < ->доступа/блокировки т.д.
Лично я хотел бы предложить сочетание использования NoSQL базы данных (например, Redis, MongoDB и т.д.) в качестве движка для хранения вашего d3.js, общаться между сервером < ->клиентов с использованием WebSocket - Pub/Sub сообщение (с ajax как резерв).
Чтение/запись состояние таблицы через queue системы (Celery или просто с вашим NoSQL).
Если вы так настаивали, вы можете также иметь периодическую резервную копию хранилища, написав специальные сценарии сервера, чтобы выгрузить/экспортировать хранилище (данные таблицы) в файл csv.
Надеюсь, мои объяснения и предложения помогут вам в правильном направлении и, в конечном итоге, найти лучшее воплощение (все варианты использования различны). Удачи!
- 1. Замена JSON-файл с CSV для d3js
- 2. изменить файл csv перед импортом
- 3. изменить формат CSV входной файл
- 4. Пустой экран с d3js
- 5. Изменить файл CSV в Python
- 6. d3JS: сегменты линии рисования из CSV
- 7. Изменить текст кнопки с помощью D3js
- 8. d3js: Сопряжение CSV строк в элементах «g»
- 9. d3js: d3.csv и это данные исчезают
- 10. d3js динамический CSV переключатель из выпадающего списка
- 11. Использование динамического ввода (CSV) в d3js
- 12. Открыть, изменить и перезаписать файл CSV
- 13. изменить и сохранить файл csv в python
- 14. Попытки изменить Вороную карту в D3JS
- 15. Как создать d3js гистограмму
- 16. D3js - изменить вертикальную гистограмму на горизонтальную гистограмму
- 17. Как изменить цвет ссылки в d3js?
- 18. Штыревые маркеры с D3js
- 19. D3js - изменить стиль для svg text elemets
- 20. UnicodeDecodeError С CSV файл
- 21. Csv-файл с объектами
- 22. Создайте файл CSV с PHP
- 23. Загрузка и обновление данных D3JS
- 24. Как читать динамический файл tsv d3js
- 25. Выбор d3JS с Angular vs d3JS с jQuery
- 26. Последовательный анимационный SVG с d3js
- 27. D3js. Работа с классами
- 28. Многоуровневое связывание с d3js
- 29. TypeError с деревом d3js
- 30. Сортировка с использованием d3js
Привет, очень хорошее предложение, если я просто предоставлю задачу, о которой я говорил ранее, я последую вашему предложению. Но другой причиной является то, что я должен хранить их с помощью csv, потому что мой сайт был повторно использован несколько программ, которые могут принимать только файлы csv. И еще одна вещь, возможно, каждую неделю, только 10 или 20 таких задач будут выполнены. Итак, есть ли у вас идея использовать чистый файл csv? – cityCoder
@cityCoder, если вы так настаивали на использовании csv, это все еще возможно. могу ли я спросить, какой бэкэнд вы собираетесь использовать для конечных точек api? Вместо этого вы можете написать свой собственный api с помощью простой комбинации json/django view и чтения/записи из/в ваш файл csv. – Anzel
Я загружаю некоторые инструменты, которые могут дать некоторый результат на основе ввода пользователя, например, выполнять задачи математического вычисления для пользователя. Учитывая некоторые статистические результаты. Эти инструменты выводят файлы csv, поэтому я хочу напрямую обрабатывать файл csv. Спасибо за Вашу информацию. Я буду json/django делать это ~ – cityCoder