1

我想读取一个 xlsx 文件,将所有小于 0.0001 的值更改为 0.01。我可以读取值并打印它们,但我不能更改它们?

import pylab

from openpyxl import load_workbook
wb = load_workbook(filename = 'TF-Automation.xlsx', use_iterators=True)
ws = wb.get_sheet_by_name(name = 'Huvudmatris')

for row in ws.iter_rows():
    for cell in row:
        if cell.internal_value < 0.00001:
              cell.set_value = 0.000001      
        print cell.internal_value
4

1 回答 1

1

来自文档: http: //pythonhosted.org/openpyxl/api.html

 openpyxl.reader.excel.load_workbook(filename,use_iterators=False)[source] :
Open the given filename and return the workbook
Parameters:   

    filename (string) – the path to open
    use_iterators (bool) – use lazy load for cells

Return type:  
    openpyxl.workbook.Workbook

使用延迟加载时,所有工作表 都是只读的openpyxl.reader.iter_worksheet.IterableWorksheet返回的工作簿是只读的。

不要使用use_iterators=True. .save(filename)此外,如果您想用新值更新 xlsx ,则需要致电。

于 2013-10-18T07:39:02.827 回答