2016-04-29 485 views
0

我想将字典写入excel文件。我总是收到一些错误信息,有人能解释我该怎么办?Python将字典写入excel

import sys 
    import argparse 

    import pyexcel 
    import pyexcel.ext.xls 
    import os 

#reading input.. 

    dict = {'Kalibrierwerte': 
       [array_1] 
     , 
      'Messwerte': 
       [array_2] 
     } 

    book=pyexcel.get_book(adict=dict) 

    book.save_as("../data/output2.xls") 

if __name__ == '__main__': 
    sys.exit(main()) 

当我运行这段代码,我得到这个错误:

'File "C:\Python27\lib\site-packages\pyexcel\sources_init_.py", line 102, in _get_book raise NotImplementedError(MESSAGE_ERROR_NO_HANDLER) NotImplementedError: No suitable plugins imported or installed' 

我尝试不同的方法写的输出,但没有一个成功的。

+1

见代码有什么错误? – orvi

+0

对于发布的代码:'文件'C:\ Python27 \ lib \ site-packages \ pyexcel \ sources \ __ init__.py“,第102行,在_get_book中 raise NotImplementedError(MESSAGE_ERROR_NO_HANDLER) NotImplementedError:没有合适的插件导入或安装' – Miguel13366

回答

0

我不熟悉pyexcel,但我认为你可以用excel支持的csv格式保存数据。

这是低于例如:

import pandas as pd 

array_1 = ['foo', 'bar', 'i', 'j'] 
array_2 = [1, 2, 3, 4] 
your_dict = {  # do not use `dict` to name a variable 
    'Kalibrierwerte': array_1, 
    'Messwerte': array_2, 
} 

# convert `dict` to `pandas.DataFrame` and save to csv file 
d = pd.DataFrame(your_dict) 
d.to_csv('output.csv') 
+0

我需要不同的床单,所以,我不想拥有一个csv。 (这里有两个以上的小阵列,每个阵列都是一张) – Miguel13366

+0

@ Miguel13366代码中的关键字参数'adict'是什么'book = pyexcel.get_book(adict = dict)'?我无法在[get_book的文档]中找到它(http://pyexcel.readthedocs.io/en/latest/generated/pyexcel.get_book.html?highlight=get_book#pyexcel.get_book) – linusp

0

正是有了字典和getbook问题。下面

dict_out = {'Kalibrierwerte': array_1, 
      'Messwerte':array_2 
      } 

book=pyexcel.get_book(bookdict=dict_out) 
book.save_as("../out/output.xls") 
+0

您可以使用一个liner:pyexcel.save_book_as(bookdict = dict_out,dest_file_name =“../out/output.xls”) – chfw