繁体   English   中英

如何在 excel 的一个单元格中插入 pandas 数据帧(使用 openpyxl),其中的值将用逗号分隔?

[英]How to insert a pandas data frame in one cell in excel (using openpyxl), where the values will be separated with comma?

我想在 excel 的一个单元格中插入一个 pandas 数据帧(使用 openpyxl),其中数据帧的值将用逗号分隔。 到目前为止,我已经实现了在 excel 中打印数据帧,但在多个单元格中,如下面的脚本和表格中所示。 此外,在最后一个图中,显示了我要在 excel 中打印的表格。

import pandas as pd
from openpyxl import load_workbook 
from openpyxl.utils.dataframe import dataframe_to_rows

wb = load_workbook('test.xlsx')
ws = wb['Sheet1'] 
df = pd.DataFrame({'Data': [1, 2, 3, 4, 5, 6]}) 
df_transpose=df.T
rows_materials= dataframe_to_rows(df.T, index=False,header=False)

for r_idx_materials, row in enumerate(rows_materials, 1):
    for c_idx_materials, value in enumerate(row, 1): 
         ws.cell(row=r_idx_materials, column=c_idx_materials, value=value)

wb.save('test.xlsx')

在此处输入图像描述

在此处输入图像描述

您可以像这样将列表的内容作为字符串传递


wb = load_workbook(r'C:\temp\temp.xlsx')
ws = wb['Sheet1'] 
my_list = ["1, 2, 3, 4, 5, 6"]
df = pd.DataFrame({'Data': my_list}) 
df_transpose=df.T
rows_materials= dataframe_to_rows(df.T, index=False,header=False)

for r_idx_materials, row in enumerate(rows_materials, 1):
    for c_idx_materials, value in enumerate(row, 1): 
         ws.cell(row=r_idx_materials, column=c_idx_materials, value=value)

wb.save(r'C:\temp\temp.xlsx')

Output 在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM