无法将集合()转换为Excel

2024-09-21 01:18:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何使用python字典编写excel文件。(xlrdopenpyxl

我在excel文件中创建了日英词典,并将其存储为python词典,如下所示:

    d = {}
    for i in range(inputWs.nrows):
        cell_value_id = inputWs.cell(i,0).value
        cell_value_class1 = inputWs.cell(i,1).value
        d[cell_value_id] = {cell_value_class1}

我想做的是阅读menuWs,excel文件中的日语单词列表,然后使用字典编写每个日语单词对应的英语单词,如下所示:

    for j in range(1, translatedWs.max_row + 1):
        print(d.get(menuWs.cell_value(j, 0)))
        translatedWs.cell(row = j, column = 2, value = d.get(menuWs.cell_value(j, 0)))

但是,我遇到一个错误,无法将set([u'English'])转换为Excel。我在编码方面的经验很差,这是我第一次使用python。我已经被困在这里好几天了,如果你能帮我解决这个问题,我将非常感激。多谢各位


Tags: 文件inidfor字典valuecellrange
1条回答
网友
1楼 · 发布于 2024-09-21 01:18:56

当您将cell_value_class1赋值给字典时,您不需要额外的大括号{}-通过使用此符号,您创建了一个set

如果您将这一行直接添加到下面,您将看到

d = {}
    for i in range(inputWs.nrows):
        cell_value_id = inputWs.cell(i,0).value
        cell_value_class1 = inputWs.cell(i,1).value
        d[cell_value_id] = {cell_value_class1}
        print(type(d[cell_value_id]))      # <  this will show <class 'set'>

我想你要做的就是直接在字典中添加值。 删除那些像这样的{}

d[cell_value_id] = cell_value_class1

您现在正在添加一个intstr或任何类型的cell_value_class1,我想这就是您正在尝试的

相关问题 更多 >

    热门问题