Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 23, 2008 11:20:46

Ment0r
От:
Зарегистрирован: 2007-10-29
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + Word

Каким образом можно организовать считывание данных из документов Word, Excel?



Офлайн

#2 Апрель 23, 2008 11:24:39

well
От:
Зарегистрирован: 2006-11-20
Сообщения: 163
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + Word

Ment0r
Для работы с Excel я использую pyExcelerator. Доволен и не знаю проблем. Там сразу идет неплохая подборка примеров.



Отредактировано (Апрель 23, 2008 11:25:03)

Офлайн

#3 Апрель 24, 2008 10:49:49

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + Word

по вопросу python+Excel есть майл группа http://groups.google.com/group/python-excel
для считывания = http://pypi.python.org/pypi/xlrd
для записи = pyExcelerator



Отредактировано (Апрель 24, 2008 10:50:34)

Офлайн

#4 Апрель 25, 2008 09:51:55

well
От:
Зарегистрирован: 2006-11-20
Сообщения: 163
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + Word

pythonwin
по вопросу python+Excel есть майл группа http://groups.google.com/group/python-excel
для считывания = http://pypi.python.org/pypi/xlrd
для записи = pyExcelerator
А я неплохо и через pyExcelerator читал. Просто зачем ставить дополнительно другой пакет, если все есть в одной пачке :)



Офлайн

#5 Апрель 25, 2008 10:23:41

proDiva
От:
Зарегистрирован: 2007-02-15
Сообщения: 244
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + Word

well
Покажите, если не трудно, каким образом вы через pyExcelerator читали? Я до сих пор думала, что он только для записи, даже в аннотации пишется, что он формирует xls-файлы.



Офлайн

#6 Апрель 25, 2008 10:51:36

well
От:
Зарегистрирован: 2006-11-20
Сообщения: 163
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + Word

proDiva
well
Покажите, если не трудно, каким образом вы через pyExcelerator читали? Я до сих пор думала, что он только для записи, даже в аннотации пишется, что он формирует xls-файлы.
Вот отличный пример нашел в сырцах. Перегоняет xls в txt:

#!/usr/bin/env python
# -*- coding: windows-1251 -*-
# Copyright (C) 2005 Kiseliov Roman


from pyExcelerator import *
import sys

me, args = sys.argv, sys.argv

if args:
for arg in args:
print >>sys.stderr, ‘extracting data from’, arg
for sheet_name, values in parse_xls(arg, ‘cp1251’): # parse_xls(arg) – default encoding
print ‘Sheet = “%s”’ % sheet_name.encode('cp866', ‘backslashreplace’)
print ‘—————-’
for row_idx, col_idx in sorted(values.keys()):
v = values
if isinstance(v, unicode):
v = v.encode('cp866', ‘backslashreplace’)
print ‘(%d, %d) =’ % (row_idx, col_idx), v
print ‘—————-’
else:
print ‘usage: %s (inputfile)+’ % me



Отредактировано (Апрель 25, 2008 10:52:40)

Офлайн

#7 Апрель 25, 2008 11:29:13

BION
От:
Зарегистрирован: 2007-08-26
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + Word

Ment0r
Каким образом можно организовать считывание данных из документов Word, Excel?
Для работы с Word'ом я использовал win32com из pywin32 http://sourceforge.net/project/showfiles.php?group_id=78018

пример
# -*- coding: cp1251 -*-
import win32com.client
objWord = win32com.client.Dispatch(r'Word.Application',"Администратор",UnicodeToString="cp1251")
objWord.Visible = True
objDoc = objWord.Documents.Add()
objDoc.Activate
objDoc.ActiveWindow.Selection.InsertAfter("Привет.")
objDoc.ActiveWindow.Selection.InsertParagraphAfter
objDoc.ActiveWindow.Selection.InsertAfter("Чувачёк.")
objDoc.ActiveWindow.Selection.InsertParagraphAfter
objDoc.ActiveWindow.Selection.Font.Bold = True
objDoc.ActiveWindow.Selection.EndOf
objDoc.SaveAs("C:/Test.doc")
del objDoc
objWord.Quit()
как считывать почитай доки, Word VBA тоже почитай там все оч похоже



Отредактировано (Апрель 25, 2008 11:37:14)

Офлайн

#8 Апрель 25, 2008 12:26:36

hellt
От:
Зарегистрирован: 2008-03-14
Сообщения: 45
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + Word

как извращенный вариант - использование IronPy и собственно .net либы для работы с word



Офлайн

#9 Апрель 25, 2008 13:13:29

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + Word

well
Просто зачем ставить дополнительно другой пакет, если все есть в одной пачке :)
а цвета ячеек как определять?



Офлайн

#10 Апрель 25, 2008 16:15:44

clopomor
От:
Зарегистрирован: 2007-06-12
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

Python + Word

Цікавить таке питання -
є шаблонний файл - для прикладу - shablon.xls
там шапка, форматування, різні стилі…
як на основі цього шаблонного видати інший уже заповнений файл із збереженням стилів…
через pyExcelerator перекачуються дані які вбиті в шаблон… новими даними теж немає проблем наповнити…
але ось отримати із шаблону стилі (шрифти, рамки, розміри чарунків) невдається….

def export_g(request):
    w = Workbook()
    ws = w.add_sheet('Gurnal')
    fname='/server/djapp/neptun/templates/gurnal/gurnal.xls'
    style = XFStyle()
    for sheet_name, values in parse_xls(fname, 'utf-8'):
        for row_idx, col_idx in sorted(values.keys()):
                v = values[(row_idx, col_idx)]
                ws.write(row_idx,col_idx,v,style)
  Response = HttpResponse(mimetype='application/vnd.ms-excel')
  Response['Content-Disposition'] = 'attachment; filename=gurnal.xls'
  w.save(Response)
  return Response

мож хто приклад підкине… Був б вдячний



Отредактировано (Апрель 25, 2008 16:16:26)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version