代码之家  ›  专栏  ›  技术社区  ›  ConanG

熊猫:使用多行格式将包含字符串的数据帧写入xlsx

  •  3
  • ConanG  · 技术社区  · 6 年前
    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)格式化并写入 多行 在内部 每个 单间牢房 ?

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

    df=pd。数据帧(['abc\n123\n232','1\n2\n3\n4\n5\n6'])
    df。to\u csv('text.csv')
    

    所需输出为A1和A2单元格 只有 正在填充。

    编辑2: 不在csv中,但 xlsx .

    2 回复  |  直到 6 年前
        1
  •  0
  •   pe-perry    6 年前

    您可以使用 .to_excel 具有 index=False header=False .

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

    但您可能需要自己打开“包装文本”。

        2
  •  0
  •   abdullah    3 年前

    为什么不使用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')