Pandas:将包含字符串的数据帧写入多行格式的 xlsx

Pandas: Write dataframe containing strings to xlsx with multiline format

df=pd.DataFrame(['abc\n123\n232','1\n2\n3\n4\n5\n6'])
df.to_csv('text.csv')

我想在 xlsx 的单个单元格中(编辑:不是 csv):

abc
123
232

所需的输出是 A1 单元格 被填充。

数据框只有 1 个单元格。 但是上面的代码会导致 xlsx(已编辑:不是 csv)将 1 个单元格打印到多个单元格中。 有没有一种方法可以将 xlsx(已编辑:不是 csv)格式化并写入 multilines within each 单元格?

编辑: 我会澄清我的问题。我的数据框定义没有问题。我希望数据帧每个单元格中字符串中的“\n”成为 xlsx(已编辑:不是 csv)单元格中的换行符。这是另一个例子。

df=pd.DataFrame(['abc\n123\n232','1\n2\n3\n4\n5\n6'])
df.to_csv('text.csv')

所需的输出是 A1 和 A2 单元格 被填充。

编辑 2: 不是 csv,而是 xlsx.

您可以将 .to_excelindex=Falseheader=False 一起使用。

df.to_excel('test.xlsx', index=False, header=False)

但您可能需要自行开启'Wrap Text'。

为什么不使用 openpyxl 因为它会起作用

from openpyxl import Workbook

workbook = Workbook()
worksheet = workbook.worksheets[0]
worksheet.title = "Sheet1"
worksheet.cell('A1').style.alignment.wrap_text = True
worksheet.cell('A1').value = "abc\n123\n232"
worksheet.cell('B1').value = "1\n2\n3\n4\n5\n6"
workbook.save('test.xlsx')