Форум программистов, компьютерный форум, киберфорум
Python: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
171 / 92 / 71
Регистрация: 10.05.2014
Сообщений: 432

Экспорт "базы данных" в таблицу Excel

22.02.2016, 22:32. Показов 4272. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток! Недавно задавал вопрос по библиотеке xlwt для pyhton 2.7 и выше, более менее понял как с ней работать, но в данном коде, откровенно все очень плохо было(дабы не позориться вырезал все попытки экспорта в excel). Если есть кто работал с этой библиотекой, объясните, пожалуйста, как правильно, в данном случае, настроить экспорт?

P.S. Код считывает, построчно, информацию из файла MyFile.txt, присваивая каждой переменной определенные значения из этой строки, производит некоторые вычисления, предлагает выбрать какую манипуляцию(удаление, добавление или изменение) над строкой необходимо сделать, проделывая эту операцию для всех строк в исходном файле, и записывает вывод в файл _MyFile_.txt.(Почему в txt? Потому что с этим экспортом у меня не возникло никаких проблем, а вот с экспортом в excel проблемки).

P.S.S Код только кажется большим, большая его часть это функция выбора манипуляции над строкой!

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import csv       
def choice(b,fio,o,ko,kr,kdb):
    if b.lower() == 'модифицировать':
        fio = input('FIO: ')
        o = input('Oklad: ')
        ko = input('Kol-vo otrabotannbIx dney: ')
        kdb = input('Kol-vo dney po bolezni: ')       
        kr = input('Kol-vo dney v mesyace: ')
        s = int(ko)*int(o)/int(kr)
        sn = int(kdb)/int(kr)
        print(' ',fio,o,'|',ko,'|',kr,'|',kdb,'| ',round(s,1),'|',round(sn,1),'\n                                                                  Строка изменена')
        print(' ',fio,o,'|',ko,'|',kr,'|',kdb,'| ',round(s,1),'|',round(sn,1),'\n                                                                  Строка изменена', file=a)
    elif b.lower() == 'удалить':
        print('                                                                   Строка удалена', file=a)  
    elif b.lower() == 'добавить':
        fioa = input('FIO: ')  
        oa = input('Oklad: ')
        koa = input('Kol-vo otrabotannbIx dney: ')
        kdba = input('Kol-vo dney po bolezni: ')
        kra = input('Kol-vo dney v mesyace: ')
        sa = int(koa)*int(oa)/int(kra)
        sna = int(kdba)/int(kra)                                                                                                                         
        print(' ',fioa,oa,'|',koa,'|',kra,'|',kdba,'| ',round(sa,1),'|',round(sna,1),'\n                                                                 Строка Добавлена')
        print(' ',fioa,oa,'|',koa,'|',kra,'|',kdba,'| ',round(sa,1),'|',round(sna,1),'\n                                                                 Строка Добавлена', file=a)
        print('Какие манипуляции со строкой Вы хотели бы произвести?')
        choice(input(),fio,o,ko,kr,kdb)
    else:
        s = int(ko)*int(o)/int(kr)
        sn = int(kdb)/int(kr)
        print(' ',fio,o,'|',ko,'|',kr,'|',kdb,'| ',round(s,1),'|',round(sn,1))
        print(' ',fio,o,'|',ko,'|',kr,'|',kdb,'| ',round(s,1),'|',round(sn,1), file=a)
 
a = open('_MyFile_part_3.txt', 'w')
print('  Фамилия Имя Отчество            Оклад | днр | двм | КДнБЛ | Получено |  Н С \n',' ','-----'.center(80,'-'),sep='')
print('  Фамилия Имя Отчество            Оклад | днр | двм | КДнБЛ | Получено |  Н С \n',' ','-----'.center(80,'-'),sep='', file=a)
with open('myfile.txt') as f:
    for line in csv.DictReader(f, delimiter=':'):
        fio,o,ko,kr,kdb = line['fio'],line['o'],line['ko'],line['kr'],line['kdb']
        print('Какие манипуляции со строкой Вы хотели бы произвести?')
        choice(input(),fio,o,ko,kr,kdb)
print(' ','-----'.center(80,'-'),sep='')
print(' ','-----'.center(80,'-'),sep='',file=a)
a.close()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.02.2016, 22:32
Ответы с готовыми решениями:

Экспорт из базы Access в таблицу Excel с древовидной структурой
Доброго времени суток. Есть задача выгрузить прайс-лист из access в таблицу excel с древовидной структурой. Выгружать нужно в шаблон,...

Экспорт базы данных в Excel
Сделал экспорт базы данных в Excel, но без заголовков. Помогите как тоже экспортировать заголовки своей базы данных в datagridview ...

Экспорт базы данных из С# в excel
Раскажите, приведите пример или скиньте что нибудь почитать по этой теме. заранее благодарю

2
171 / 92 / 71
Регистрация: 10.05.2014
Сообщений: 432
22.02.2016, 22:36  [ТС]
Файл, импортируемый кодом
Вложения
Тип файла: txt MyFile.txt (544 байт, 22 просмотров)
0
171 / 92 / 71
Регистрация: 10.05.2014
Сообщений: 432
01.03.2016, 02:15  [ТС]
Если кому-то будет интересно, задачу решил=)

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import csv       
import openpyxl
from openpyxl import Workbook
 
def excel(fio,o,ko,kr,kdb): ws2.append([fio,int(o),int(ko),int(kr),int(kdb),round(int(ko)*int(o)/int(kr),1),round(int(kdb)/int(kr),1)])
 
def choice(b,fio,o,ko,kr,kdb):
    if b.lower() == 'модифицировать':
        fio = input('FIO: ')
        o = input('Oklad: ')
        ko = input('Kol-vo otrabotannbIx dney: ')
        kdb = input('Kol-vo dney po bolezni: ')       
        kr = input('Kol-vo dney v mesyace: ')
        s = int(ko)*int(o)/int(kr)
        sn = int(kdb)/int(kr)
        print(' ',fio,o,'|',ko,'|',kr,'|',kdb,'| ',round(s,1),'|',round(sn,1),'\n                                                                  Строка изменена')
        excel(fio,o,ko,kr,kdb)
        print(' ',fio,o,'|',ko,'|',kr,'|',kdb,'| ',round(s,1),'|',round(sn,1),'\n                                                                  Строка изменена', file=a)
    elif b.lower() == 'удалить':
        print('                                                                   Строка удалена', file=a)  
    elif b.lower() == 'добавить':
        fioa = input('FIO: ')  
        oa = input('Oklad: ')
        koa = input('Kol-vo otrabotannbIx dney: ')
        kdba = input('Kol-vo dney po bolezni: ')
        kra = input('Kol-vo dney v mesyace: ')
        sa = int(koa)*int(oa)/int(kra)
        sna = int(kdba)/int(kra)                                                                                                                         
        print(' ',fioa,oa,'|',koa,'|',kra,'|',kdba,'| ',round(sa,1),'|',round(sna,1),'\n                                                                 Строка Добавлена')
        print(' ',fioa,oa,'|',koa,'|',kra,'|',kdba,'| ',round(sa,1),'|',round(sna,1),'\n                                                                 Строка Добавлена', file=a)
        excel(fioa,oa,koa,kra,kdba)
        print('Какие манипуляции со строкой Вы хотели бы произвести?')
        choice(input(),fio,o,ko,kr,kdb)
    else:
        s = int(ko)*int(o)/int(kr)
        sn = int(kdb)/int(kr)
        print(' ',fio,o,'|',ko,'|',kr,'|',kdb,'| ',round(s,1),'|',round(sn,1))
        excel(fio,o,ko,kr,kdb)
        print(' ',fio,o,'|',ko,'|',kr,'|',kdb,'| ',round(s,1),'|',round(sn,1), file=a)
 
a = open('_MyFile_part_3.txt', 'w')
wb = Workbook()
ws = wb.active
 
ws.title = "Исходные данные" 
ws.sheet_properties.tabColor = "77EE77"
ws2 = wb.create_sheet(title = 'Результат')
ws2.sheet_properties.tabColor = "000000"
print('  Фамилия Имя Отчество            Оклад | днр | двм | КДнБЛ | Получено |  Н С \n',' ','-----'.center(80,'-'),sep='')
print('  Фамилия Имя Отчество            Оклад | днр | двм | КДнБЛ | Получено |  Н С \n',' ','-----'.center(80,'-'),sep='', file=a)
with open('myfile.txt') as f:
    for line in csv.DictReader(f, delimiter=':'):
        fio,o,ko,kr,kdb = line['fio'],line['o'],line['ko'],line['kr'],line['kdb']
        ws.append([fio,int(o),int(ko),int(kr),int(kdb),round(int(ko)*int(o)/int(kr),1),round(int(kdb)/int(kr),1)])
        print('Какие манипуляции со строкой Вы хотели бы произвести?')
        choice(input(),fio,o,ko,kr,kdb)
print(' ','-----'.center(80,'-'),sep='')
print(' ','-----'.center(80,'-'),sep='',file=a)
a.close()
wb.save("My-Excel-File.xlsx")
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.03.2016, 02:15
Помогаю со студенческими работами здесь

Экспорт данных в таблицу Excel
Хочу экспортировать данные в таблицу Excel, код простой: Dim oExcel As Excel.Application oExcel = New Excel.Application ...только...

Экспорт данных в таблицу excel
Добрый день. Есть текстовый файл откуда мы вынимаем информацию и записываем ее по подобию csv файла. Вопрос : Мне нужно создать csv файл...

Экспорт базы данных c картинками в Excel
Здравствуйте. Есть такая проблема, в базе данных есть таблица, в таблице один столбец это изображение. При экспорте в Excel все таблицы...

Экспорт данных в Excel запрос из базы
Не выводятся данные, в Excel выходят ток названий столбцов почему? <?php //spl_autoload_unregister('autoload'); require_once __DIR__...

Экспорт данных в Excel запрос из базы
<?php $filename = "Webinfopen.xls"; // File Name // Download file header('Content-type: application/x-msdownload;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru