Форум сайта python.su
Пишу на python3.4
xlsxwriter 0.9.3
and@and-MS-1738 ~ $ uname -a
Linux and-MS-1738 3.16.0-38-generic #52~14.04.1-Ubuntu SMP Fri May 8 09:43:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
# -*- coding: utf-8 -*- import xlsxwriter, os file = 'data.xlsx' path = os.getenv("PWD", os.getcwd()) wb = xlsxwriter.Workbook(path + '/' + file) ws = wb.get_worksheet_by_name("Поколение") print("Листы:", wb.worksheets()) ws.write(0, 0, "123456") wb.close()
Листы: [] Traceback (most recent call last): File "тест2.py", line 8, in <module> ws.write(0, 0, "123456") AttributeError: 'NoneType' object has no attribute 'write'
Отредактировано andman (Сен. 30, 2016 08:55:05)
Офлайн
Не помню, чтобы xlswriter работал на чтение. По-моему только на создание. Если есть такая возможность киньте ссылку на документацию…
P.S. По большому xlsx формат - это большой такой xml, который можно распарсить и поменять в нем нужные значения.
Офлайн
Ну да, точно…
XlsxWriter is a Python module that can be used to write text, numbers, formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file. It supports features such as formatting and many more, including:
100% compatible Excel XLSX files.
Full formatting.
Merged cells.
Defined names.
Charts.
Autofilters.
Data validation and drop down lists.
Conditional formatting.
Worksheet PNG/JPEG images.
Rich multi-format strings.
Cell comments.
Textboxes.
Integration with Pandas.
Memory optimization mode for writing large files.
Отредактировано 4kpt_IV (Сен. 30, 2016 11:27:39)
Офлайн
Хорошо, а как мне тогда дописать в существующий файл в существующий лист ?
Офлайн
andman
Хорошо, а как мне тогда дописать в существующий файл в существующий лист ?
4kpt_IV
P.S. По большому xlsx формат - это большой такой xml, который можно распарсить и поменять в нем нужные значения.
Офлайн
andmanРаз никто не отвечает, то наверное это никому не нужно. В том числе и вам, просто вы это еще не осознали :).
Хорошо, а как мне тогда дописать в существующий файл в существующий лист ?
Офлайн
либо считать одной библиотекой (openpyxl, xlrd), а записать другой в новый файл c помощью XlsxWriter
Офлайн
xlrd не берет xlsx
Офлайн
4kpt_IVБерёт. Сам не ожидал.
xlrd не берет xlsx
Офлайн
Подождите. Я имел ввиду не это. Я имел ввиду, что нельзя поправить и сохранить. А то, что можно вычитать - можно и xml вычитать. В этом случае нужно выбирать весь файл и его снова собирать средствами xlsxwriter. Но не много ли оверхеда для правки xml?
Офлайн