【发布时间】:2020-07-23 22:42:49
【问题描述】:
我正在使用 openpyxl 库中的 dataframe_to_rows 函数。 我正在尝试将数据框写入具有格式的现有空白工作表中。 但是,我遇到以下错误: TypeError : 'float' 对象不可下标
下面是相同的代码:
import openpyxl
from openpyxl.utils.dataframe import dataframe_to_rows
def copy_dataframe_to_file(file_path, df, sheet_name):
wb = openpyxl.load_workbook(file_path)
ws = wb[sheet_name]
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)
ws.save(file_path)
Error Message Here:
row = [data[j][idx] for j in range(ncols)]
TypeError : 'float' object is not subscriptable
行 row = [data[j][idx] for j in range(ncols)] 来自库文件 openpyx.utils.dataframe.py。 我无法理解“浮动”的来源。
【问题讨论】:
-
添加完整的回溯
-
data[j] 可能是浮点数,data[j][idx] 正在尝试访问浮点数的第 idx 个元素
-
df.head()长什么样子?