Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将dict中的python列表写入excel_Python_Xlsx_Xlsxwriter - Fatal编程技术网

将dict中的python列表写入excel

将dict中的python列表写入excel,python,xlsx,xlsxwriter,Python,Xlsx,Xlsxwriter,我有上面的代码,我正在尝试打印people1结果,如下所示: import pprint import xlsxwriter def createDict(): people1 = {'name': 'John', 'age': '27', 'sex': 'Male', 'client': [ {'name': 'Jamie', 'age': '22', 'sex': 'Male'}, {'name': 'Holly', 'age': '22', 'sex': 'Female'}]

我有上面的代码,我正在尝试打印people1结果,如下所示:

import pprint
import xlsxwriter


def createDict():

people1 = {'name': 'John', 'age': '27', 'sex': 'Male', 'client': [
    {'name': 'Jamie', 'age': '22', 'sex': 'Male'}, {'name': 'Holly', 'age': '22', 'sex': 'Female'}]}
people2 = {'name': 'Marie', 'age': '22', 'sex': 'Female'}


workbook = xlsxwriter.Workbook('myfile.xlsx')
worksheet = workbook.add_worksheet()

row = 0
col = 0

for key in people1:
    row += 1
    # prints the keys for dicts
    worksheet.write(row, col, key)
    # prints the value for people 1
    worksheet.write(row, col + 1, people1[key])



# workbook.close()


createDict()
然而,我不断地发现这个错误:

name: John
age : 27
sex : male
client: name: jamie
    age: 22
    sex:male
    name: holly
    age: 22
    sex:female
TypeError:write()中不支持的类型
因为这是一张清单。。请帮忙。这是我字典的一小部分,在某些情况下,我可能会有更大的数据,但概念是一样的。

递归函数

TypeError: Unsupported type <class 'list'> in write()

如果key==“clients”:#做些别的事情
啊,但你不打算打印它,你要把它放在电子表格中。那么,您希望数据的确切位置是什么呢?在上面的示例中,“客户:”应该是A4单元格的内容,“名称”-B4,“杰米”-C4,“女性”-C9吗?
class ExcelWriter:

    row = 0

    def write_to_excel(self, value, col=0):
        if isinstance(value, dict):
            for k, v in value.items():
                self.write_to_excel(k, col)
                self.write_to_excel(v, col+1)
                self.row += 1
        elif isinstance(value, list):
            for item in value:
                self.write_to_excel(item, col)
                self.row += 1
        else:
            worksheet.write(row, col, value)

ExcelWriter().write_to_excel(people1)