Python xlsx写作格式建议

Python Xlsx writing format advice

我创建了一个列表和一个 for 循环来迭代其中的每个项目,将其打印到 excel 中的一个单元格。我正在使用 openpyxl。当我第一次开始使用它时,使用简单的语句,如:

sheet["A1"] = "hello"

单元格 A1 中的结果完美地代表了 hello 值,没有引号。

我有这个代码:

workbook = Workbook()
sheet = workbook.active
text = ["Whistle", "Groot", "Numbers", "Mulan", "Buddy Holly"]
other = [5, 8, 100, 120]
for i in range(1,len(text)+1):
    cell_letter = "A"
    cell_number = str(i)
    sheet[str((cell_letter + cell_number))] = str(text[i-1:i])

并通过对变量 "text" 的迭代写入相应的单元格位置。但是当我打开文件时,格式是 ['Whistle'] 和 ['Groot']

我错过了什么?我是否应该将每次迭代传递给另一个变量以将其从列表转换为元组以便将其写入?

抱歉,如果我的代码看起来有点乱,我实际上是在过去几个小时才了解到这一点,并且它(有点)在做我需要它做的事情,除了写作格式。

Openpyxl 让你写一个列表的列表,其中实习生列表代表 xlsx 文件中的 'lines'。

因此,您可以将所需内容存储为:

data_to_write = [["Whistle", "Groot", "Numbers", "Mulan", "Buddy Holly"]]

或者,如果您想要下一行中的一些数据:

data_to_write = [["Whistle", "Groot", "Numbers"], ["Mulan", "Buddy Holly"]]

然后,将其添加到您的工作表中:

for line in data_to_write:
    sheet.append(line)

最后,保存它:

workbook.save("filename.xlsx")

完整的代码可能是这样的:

from openpyxl import Workbook

workbook = Workbook()
sheet = workbook.active

data_to_write = [["Whistle", "Groot", "Numbers", "Mulan", "Buddy Holly"]]

for line in data_to_write:
    sheet.append(line)

workbook.save('example.xlsx')

试一试,然后给我反馈,请XD