使用Python将列表写入Excel中的单元格

使用Python将列表写入Excel中的单元格,python,excel,list,xlsxwriter,Python,Excel,List,Xlsxwriter,我想写一个列表列表:k=[['1'、'a']、['2'、'b']、['3'、'c']]-到Python excel工作表中的一个单元格中 我的代码: workbook = xlsxwriter.Workbook('names.xlsx') worksheet = workbook.add_worksheet() worksheet.write('A1', 'Generic Name') 我试过: 工作表。写入第行('B1',allmajor) 这将导致列表k中的内容写入单独的单元格(B1、C1

我想写一个列表列表:
k=[['1'、'a']、['2'、'b']、['3'、'c']]
-到Python excel工作表中的一个单元格中

我的代码:

workbook = xlsxwriter.Workbook('names.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Generic Name')
我试过:
工作表。写入第行('B1',allmajor)
这将导致列表
k
中的内容写入单独的单元格(B1、C1、D1..)

执行:
worksheet.write('B1','和'。join(k))
导致单元格B1的组件具有类似于-
'1'、'a'、'2'、'b'、'3'、'c'的字符串。


是否有任何方法可以将列表写入单元格,使单元格B1看起来像
[['1','a'],['2','b'],['3','c']
?Python中是否有其他模块可以实现这一点?

您可以通过将列表转换为字符串来解决这一问题。比如说

>>import pandas as pd
>>list1=[['1','a'],['2','b'],['3','c']]
>>list2=[['4','a'],['5','b'],['6','c']]
>>df=pd.DataFrame({'a':[str(list1), str(list2)]]})
现在,当您以逗号分隔的格式保存它时,每个元素都将被视为字符串。当您从文件中读回此内容时,可以使用
ast
将其转换回列表列表

>>import ast
>>[ast.literal_eval(i) for i in df['a']]

希望这能回答您的问题。

您可以使用内置函数,该函数提供列表对象的字符串表示形式:

worksheet.write('B1', repr(k))
在python提示符下,您可以看到它是如何工作的:

>>> k = [['1','a'],['2','b'],['3','c']]
>>> k
[['1', 'a'], ['2', 'b'], ['3', 'c']]
>>> repr(k)
"[['1', 'a'], ['2', 'b'], ['3', 'c']]"
>>> print(repr(k))
[['1', 'a'], ['2', 'b'], ['3', 'c']]
对于简单的列表结构,您可以将其转换为字符串,就像
str(k)
一样,但对于这种情况,repr可能更好