2014-12-28 4 views
2

Я хочу, чтобы вставить следующий словарь:Python 3.3 - Вставить словарь в Excel

{'Olive Oil': 221.0, 'Ham - Pork': 216.14999999999998, 'Feta Cheese': 163.125, 'Vinegar': 5.1, 'Cherry Tomatoes': 22.5, 'Cucumber': 22.5} 

в новой книги Excel:

newbook = xlwt.Workbook(encoding="utf-8") 
sheet = newbook.add_sheet('Table') 

Использование xlwt

ответ

1

я использовал что-то похожее на это , Надеюсь, что это помогает

import xlsxwriter 

excelBook = xlsxwriter.Workbook('data.xlsx') 
excelSheet = excelBook.add_worksheet() 

elements = {'a':['e1','e2','e3'], 
      'b':['e1','e2'] 
      } 
row = 0 
col = 0 

for key in elements.keys(): 
    row += 1 
    excelSheet.write(row, col, key) 
    for item in elements[key]: 
     excelSheet.write(row, col + 1, item) 
     row += 1 

excelBook.close() 

вы можете также использовать DictWriter (в формате CSV).

+0

Спасибо за ответ. Это работает, но, тем не менее, я буду искать более простое решение, например: sheet.paste (row, col, dictionary). Благодаря! – Trenera

+0

@ViharChervenkov, посмотрите мою документацию, действительно есть функция вставки: http://pyexcel.readthedocs.org/en/latest/generated/pyexcel.Sheet.paste.html#pyexcel.Sheet.paste – chfw

0

Вот мое решение, если я мог бы использовать мой собственный library, которые используют xlwt-будущее косвенно:

>>> import pyexcel as pe 
>>> import pyexcel.ext.xls 
>>> data={'Olive Oil': 221.0, 'Ham - Pork': 216.14999999999998, 'Feta Cheese': 163.125, 'Vinegar': 5.1, 'Cherry Tomatoes': 22.5, 'Cucumber': 22.5} 
>>> data 
{'Olive Oil': 221.0, 'Ham - Pork': 216.14999999999998, 'Vinegar': 5.1, 'Cherry Tomatoes': 22.5, 'Feta Cheese': 163.125, 'Cucumber': 22.5} 
>>> v=[data.keys(), data.values()] 
>>> v 
[['Olive Oil', 'Ham - Pork', 'Vinegar', 'Cherry Tomatoes', 'Feta Cheese', 'Cucumber'], [221.0, 216.14999999999998, 5.1, 22.5, 163.125, 22.5]] 
>>> sheet=pe.Sheet(v) 
>>> sheet 
Sheet Name: pyexcel 
+-----------+------------+---------+-----------------+-------------+----------+ 
| Olive Oil | Ham - Pork | Vinegar | Cherry Tomatoes | Feta Cheese | Cucumber | 
+-----------+------------+---------+-----------------+-------------+----------+ 
| 221  | 216.150 | 5.100 | 22.500   | 163.125  | 22.500 | 
+-----------+------------+---------+-----------------+-------------+----------+ 
>>> sheet.transpose() 
>>> sheet 
Sheet Name: pyexcel 
+-----------------+---------+ 
| Olive Oil  | 221  | 
+-----------------+---------+ 
| Ham - Pork  | 216.150 | 
+-----------------+---------+ 
| Vinegar   | 5.100 | 
+-----------------+---------+ 
| Cherry Tomatoes | 22.500 | 
+-----------------+---------+ 
| Feta Cheese  | 163.125 | 
+-----------------+---------+ 
| Cucumber  | 22.500 | 
+-----------------+---------+ 
>>> sheet.save_as("myfile.xls") 
+0

Спасибо за ответ , Это работает, но, тем не менее, я буду искать решение, которое не требует дополнительных пакетов. Если я не смогу найти ничего лучшего, я приму свой ответ. – Trenera

 Смежные вопросы

  • Нет связанных вопросов^_^