[英]How to insert a pandas data frame in one cell in excel (using openpyxl), where the values will be separated with comma?
I would like to insert a pandas data frame in one cell in excel (using openpyxl), where the values of the data frame will be separated with comma.我想在 excel 的一个单元格中插入一个 pandas 数据帧(使用 openpyxl),其中数据帧的值将用逗号分隔。 Until now I have achieved to print the data frame in excel but in multiple cells, as it is presented in the following script and table.
到目前为止,我已经实现了在 excel 中打印数据帧,但在多个单元格中,如下面的脚本和表格中所示。 Moreover, in the last figure, the table that I want to print in excel is presented.
此外,在最后一个图中,显示了我要在 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')
You can pass the contents of the list in as a string like this您可以像这样将列表的内容作为字符串传递
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')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.