python - Openpyxl:写入不同格式的单元格

标签 python openpyxl

我正在写一个 excel 表。我想用相同的脚本编写标题(列名)和数据(带 2 位小数的 float )。

为此,我使用了这段代码:

    # Write the header
    for i in xrange(len(header)):
        sheet.cell(row=1,column=i+1).value = header[i]

    # Write the data
    for i in xrange(len(data)):
        sheet.cell(row=2,column=i+1).style.number_format.format_code = '0.00E+00' 
        sheet.cell(row=2,column=i+1).value = float(data[i])

    book.save(os.path.join(folder,'excelReport.xlsx'))

这给了我一个异常(exception):

AttributeError: 'str' object has no attribute 'format_code'

我不是 100% 确定我在这里做错了什么。

最佳答案

只需设置单元格的数字格式:

sheet.cell(row=2,column=i+1).number_format = '0.00E+00'

您也可以避免对循环使用 xrangeenumerate(sequence, start) 在您确实需要处理单个单元格时更好。但是,如果您只是使用序列,您可以简单地附加它们。您的代码可能会被重构为如下所示。

写标题

sheet.append(header)

# Write the data
for row in data:
    sheet.append([float(v) for v in row])
for cell in sheet.iter_rows(row=2):
    cell.number_format = '0.00E+00'

关于python - Openpyxl:写入不同格式的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29600856/

相关文章:

python-3.x - Openpyxl 在保存时会损坏 xlsx。即使没有进行任何更改

python - 在sqlalchemy中,什么对应于mysql函数 'load_file'?

python - 如何将列表值分配给excel文件中的列?

python - openpyxl (2.4.8) 风格背景问题;总是黑色

Python/ Pandas : Create column in appended file based on Excel cell

python - 将 .xls 转换为 .xlsx 以便 Openpyxl 可以使用它

python - 使用 cppyy 从 Python 解析 C (C++) 调用方法

python - 使用 pyinstaller 编译为 .exe 后 PyQt5 应用程序缺少图标

python 检查主机是否连接到网络

python - 如何在多列中呈现 form.as_table