Найти - Пользователи
Полная версия: Запись и редактирование данных в excel - Python
Начало » Python для новичков » Запись и редактирование данных в excel - Python
1 2 3 4 5 6
Puten
Есть сканер баркодов. По сути, обычная клавиатура (считывает баркод и печатает в виде текста).

Нужно сделать программу учета приходящих посылок, для windows (сейчас это ручкой в журнале).

Т.е. пришла посылка - сканируется баркод, вводится кол-во коробок, кто принял (для всего этого можно сгенерировать баркоды и потом сканнером по нужным кодам пройтись) + дату приема. Все это должно сохраняться в .xls / .xlsx или .csv. Этот формам выбран, чтобы администрация на своих компах в любое время могла открыть файлик и найти нужную посылку/отправителя/получается и тд.
Фишка в том, что программа каждый раз запускается по новой, а итоговый файлик всегда один и тот же и просто должно дописываться по своим местам дальше, а не создавать новый файлик. Что-то вроде базы данных.

В экселе несколько колонок(столбиков): ‘ID’, ‘POST’, ‘DATE’, ‘NAME’ и тд. Каждый запрос должен записываться в свою колонку.

С обычным текстовым файлом, вроде, в голове есть идеи, но для экселя пока не придумал. Просмотрел несколько вариантов (openpyxl, xlrd + xlwt, xlsxwriter). Некоторые не могут редактировать, только сохранять в эксель, с другими не совсем понятно, как считывать последние данные и дописывать дальше.

Прога в итоге будет одиноким файлом с расширением ‘.exe’ (через pyinstaller). Эксель будет сохраняться в той же папке, что и прога.

Или есть решения более удобные, чем простое сохранение в эксель? SQL может или на вебсервере чего замутить?

Пробывал с csv. Данные сохраняю в список и циклом записываю в csv. Проблема в том, что или пишет весь список в 1ю клетку, через запятую, или каждое слово на новой строке, а должно быть так:



В питоне новичек. Новым знаниям буду очень рад.

Винда + питон3.

Заранее спасибо.

P.S. Может обычное открытие экселем2007 не работает и нужен именно импорт данных в эксель из csv? Если так, то печально.
FishHook
Ерудой страдаете, господа. Нужна БД - ведите запись в БД. Для чтения из БД есть куча способов, можете формировать xls по запросу, сделать свой веб-доступ к данным, использовать какую-нибудь готовую программу типа phpmyadmin или прикрутить админку джанги. Да хоть на Qt набросать простенькую программу с гридом.
Писать данные в xls глупо, чем раньше вы это поймете, тем меньше у вас будет геморроя потом.
Puten
FishHook
Ерудой страдаете, господа. Нужна БД - ведите запись в БД. Для чтения из БД есть куча способов, можете формировать xls по запросу, сделать свой веб-доступ к данным, использовать какую-нибудь готовую программу типа phpmyadmin или прикрутить админку джанги. Да хоть на Qt набросать простенькую программу с гридом.
Писать данные в xls глупо, чем раньше вы это поймете, тем меньше у вас будет геморроя потом.


Вполне возможно, что ерундой. За советом и пришел сюда, на форум. Это у опытных есть уже возможные решения, для меня же, все решения выглядят одинаково, т.к. я еще не знаю плюсов и минусов каждого решения.

Из минусов бд - нужен отдельный сервер, настройка бд, формирование запросов и прочее. А хочется просто обычный .exe, который лежит на 1м компе и после запуска которого, остается обычный файлик.
FishHook
Puten
А хочется просто обычный .exe, который лежит на 1м компе и после запуска которого, остается обычный файлик.
И кто вам не дает на этом одном компе держать один файлик db.sqlite?
Откуда такие далекоидущие выводы о необходимости сервера, каких-то сложных настоек? Половина программ на вашем ноутбуке имеет какую-то свою базу данных, даже браузер.
Puten
FishHook
И кто вам не дает на этом одном компе держать один файлик db.sqlite?
Откуда такие далекоидущие выводы о необходимости сервера, каких-то сложных настоек? Половина программ на вашем ноутбуке имеет какую-то свою базу данных, даже браузер.

Тогда, если не затруднит, набросайте порядок действий и какие модули / пакеты для этого нужны.
Код писать не нужно, просто на словах, а я уже сам попробую все это воедино собрать.

Заранее спасибо.
FishHook
У вас слишком размазанное и невнятное ТЗ, чтобы можно было что-то говорить о реализации. К тому же я не знаю вашего уровня подготовки, не знаю какими вы владеете технологиями.
Для начала просто научитесь писать ваши данные в sqlite, разработайте схему данных. Лучше сразу освоить какую-нибудь ОРМ.
Puten
FishHook
У вас слишком размазанное и невнятное ТЗ
Что именно непонятно?

Пусть для простоты у нас будет 3 столбика с названиями ‘ID’, ‘Name’, ‘Courier’.
1) Спрашивается ‘Какой ID?’ - ответ на клаве -> ‘1’
2) Спрашивается ‘Имя?’ - ответ на клаве -> ‘Вася’
3) Спрашивается ‘Курьер’ - ответ на клаве -> ‘Почта России’

Ответ 1 идет в колонку ID, 2й в Name и 3й в Courier. В итоге все сохраняется в хоть какую-нибудь удобоваримую таблицу (эксель/ cvs), где все красиво разбито на 3 столбика.

При последующем запуске программы она снова открывает уже созданный файл и дописывает данные дальше. Этот файлик может открыть любой человек и посмотреть, когда, кто и что принял.

Так понятнее?

Вот картинка, для примера. Нужно каждый раз открывать этот файлик и дописывать новые данные. Что может быть легче?

Уровень подготовки минимальный, освоил только синтаксис. Дальше нескольких простых скриптов дело не заходило. Но читать доки/форумы не проблема.

ajib6ept
Не совсем понятно, что делает программа.
Она подхватывает данные со сканера и дописывает в таблицу? Драйвер для передачи со сканера есть?
Puten
ajib6ept
Она подхватывает данные со сканера и дописывает в таблицу? Драйвер для передачи со сканера есть?
Сканер рабоает, как обычная usb клавиатура, только вывод текста идет посредством чтения заранее подготовленных баркодов. Никаких драйверов не надо. Разницы между ввести ‘Вася’ с клавы и отсканировать баркод, в котором закодировано ‘Вася’ - нету.

Просто сканером пользоваться удобнее, просканил 5 наклеек - оно написало 5 строк, сохранил.

Не в сканере дело, можно для теста просто с клавиатуры вводить данные.
ajib6ept
Прост хотел понять, можно же Excel Открыть и вписать, зачем еще программу писать?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB