Форум сайта python.su
Всем спасибо, за помощь.
Оказывается, можно в ubuntu16.04 запустить 1С
и оказывается, из самой 1С можно представлениями выводить нужные поля в CSV формат.
базу из xml с помощью одной программки удалось собрать, и без конфигов родных, запустить.
вытащил то, что нужно через 1С
Офлайн
Задача почти решена… была
Вытащил то, что нужно, но в такой каше, что мама не горюй.
Выходные прошли в поте лица… сортировках, выборках и т.п.
Удалось привести таблицу к более менее “приемлемому” виду.
А именно, выделить два файла csv
ostatki.csv
Склад,Товар,кол-во Главный склад,Блюдо среднее 24 см,6 Главный склад,Блюдо большое Скибин,13 Главный склад,Часы большие,49 Главный склад,Гранат малый,9 Главный склад,Гранат сред.,6 Главный склад,Дервиш белый бол.,9 Главный склад,Колокольчик Водолаз,43 Главный склад,Дервиш цветной бол.,3 Второй склад,Дервиш цветной бол.,1 Мечеть 2017,Круж. Гез. ворота,12 Мечеть 2017,Круж. Мечеть,12 Мечеть 2017,Круж. Текие Дервиш,12 Мечеть 2017,Круж. Ник. собор,12 Мечеть 2017,Львёнок сшитый,1 Мечеть 2017,Колокольчик Русский,1
Код,ID_РОДИТЕЛЯ,Наименование,Цена,Штрихкод,Description 2298,136,Часы большие скиб.,4000,202283,Часы большие скиб. 140,136,Блюдо большое Скибин,3800,200125,Блюдо большое Скибин 108,107,Колокольчик Русская ,300,200093,Колокольчик Русская 106,107,Колокольчик Русский ,300,200091,Колокольчик Русский 105,107,Колокольчик Водолаз,600,200090,Колокольчик Водолаз 2013,254,Гранат малый,850,201998,Гранат малый 2388,254,Дервиш цветной бол.,2250,202373,Дервиш цветной бол.
Отредактировано evp24 (Июль 31, 2017 22:48:32)
Офлайн
просто добавь воды пустое поле
#!/usr/bin/env python3 f = open('ostatki.csv') ostatki = [] for i in f.readlines(): ostatki.append(i.strip().split(',')) f.close() f = open('tovari.csv') tovari = [] for i in f.readlines(): tovari.append(i.strip().split(',')) f.close() ostatki[0] = ['Склад','Код','Товар','Количество'] for i in ostatki[1:]: i.insert(1,'') ### for j in tovari[1:]: if i[2] == j[2]: i[1] = j[0] result = '' for i in ostatki: result += ','.join(i) +'\n' print(result)
Отредактировано vic57 (Авг. 1, 2017 02:22:13)
Офлайн
Немножко отформатировал текст, оказывается в gedit и notepad++
содержимое файлов по разному выглядит.
Результат, в моем spyder3
выводит - 500 строк
НО, ВыВОДИТ!!!!
Спасибо!
Пытаюсь сделать так:
#!/usr/bin/env python3 f = open('ostatki.csv') ostatki = [] for i in f.readlines(): ostatki.append(i.strip().split(',')) f.close() f = open('tovari.csv') tovari = [] for i in f.readlines(): tovari.append(i.strip().split(',')) f.close() ostatki[0] = ['Склад','Код','Товар','Количество'] for i in ostatki[1:]: i.insert(1,'') ### for j in tovari[1:]: if i[2] == j[2]: i[1] = j[0] result = '' for i in ostatki: result += ','.join(i) +'\n' f = open('result.txt','w') for i in ostatki: f.write('\t'.join(i) + '\n') f.close()
n [5]: runfile('/home/irip/1/tune.py', wdir='/home/irip/1')
Отредактировано evp24 (Авг. 1, 2017 09:44:28)
Офлайн
#!/usr/bin/env python3 f = open('ostatki.csv') ostatki = [] for i in f.readlines(): ostatki.append(i.strip().split(',')) f.close() f = open('tovari.csv') tovari = [] for i in f.readlines(): tovari.append(i.strip().split(',')) f.close() ostatki[0] = ['Склад','Код','Товар','Количество'] for i in ostatki[1:]: i.insert(1,'') ### for j in tovari[1:]: if i[2] == j[2]: i[1] = j[0] f = open('result.txt','w') for i in ostatki: f.write('\t'.join(i) + '\n') f.close()
Офлайн
что-то не увидел разницы и зачем менять разделитель? для csv стандарт - запятая или точка с запятой.
https://ru.wikipedia.org/wiki/CSV
Офлайн
Не совсем понял, о чем речь.
Но файл result получился отменный!
Спасибо
Офлайн
evp24ну если скажем не будет такого кода/товара то строка будет:
Не совсем понял, о чем речь.
f.write('\t'.join(i) + ‘\n’)имелось в виду это
f.write(','.join(i) + ‘\n’)
Офлайн
vic57
имелось в виду это
Офлайн
Есть две таблицы
goods_has_invent
Офлайн