我尝试使用 openpyxl 将现有的 DataFrame 导出到 Excel 文件。

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

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)

wb = Workbook()
ws = wb.active

for rows in dataframe_to_rows(df, index=True, header=True):
    ws.append(rows)

wb.save(filename = 'test.xlsx')

这样做时,我总是在标题行之后的输出文件中得到一个空行。

我知道我可以手动删除第二行,但没有其他方法吗?

我已经在这里尝试过 - 具有相同的结果:
import pandas as pd
from openpyxl.utils.dataframe import dataframe_to_rows
from openpyxl import Workbook

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)

wb = Workbook()
ws = wb.active

rows = dataframe_to_rows(df)

for r_idx, row in enumerate(rows, 1):
    for c_idx, value in enumerate(row, 1):
        ws.cell(row=r_idx, column=c_idx, value=value)

wb.save(filename = 'test.xlsx')

最佳答案

使索引 = False:
for rows in dataframe_to_rows(df, index=False, header=True): ws.append(rows)

关于python - 使用 openpyxl 导出数据框时为空行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51127382/

10-14 17:44