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

问题描述 投票:1回答:2

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

我的代码:

workbook = xlsxwriter.Workbook('names.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Generic Name')

我试过:worksheet.write_row('B1', allmajor)导致列表k的内容被写入单独的单元格(B1,C1,D1 ..)。

做:qazxsw poi导致单元格B1的内容具有类似-qazxsw poi的字符串

有什么方法可以将列表写入单元格,使单元格B1看起来像worksheet.write('B1', ','.join(k))? Python中是否还有其他模块可以实现这一点?

python excel list xlsxwriter
2个回答
1
投票

您可以使用内置函数'1','a','2','b','3','c',它提供列表对象的字符串表示形式:

[['1','a'],['2','b'],['3','c']]

在python提示符下,您可以看到它是如何工作的:

repr

在你的简单列表结构的情况下,你可以将它转换为字符串,就像worksheet.write('B1', repr(k)) ,但repr可能更适合这种情况。


1
投票

您可以通过将列表列表转换为字符串来处理此问题。例如

>>> 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)将其转换回列表列表。

>>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)]]})

希望这能回答你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.