我正在遍历列A。在这列中,我使用两个函数对值进行unicode。
# -*- coding: utf-8 -*-
from django.template import defaultfilters
from unidecode import unidecode
import openpyxl
wb = openpyxl.load_workbook('sheet.xlsx', use_iterators=True)
sheet = wb.get_sheet_by_name('Sheet1')
translated = []
for row in sheet.iter_rows('A2:A74'):
for cell in row:
if cell.value is not None:
defaultfilters.slugify(unidecode(cell.value))
translated.append(defaultfilters.slugify(unidecode(cell.value)))
到目前为止一切正常,但现在我想将这些"转换"的值粘贴到具有相同范围B2-B74的列B中。有人愿意用这个代码帮助我解决我的问题吗?我一直在"谷歌搜索",但到目前为止我还没有找到解决方案。。。
您是否尝试过以与阅读它们类似的方式进行操作?
编辑,几个修复:
第2版,小改进(我有一些重言逻辑):
即:
import openpyxl
wb = openpyxl.load_workbook('sheet.xlsx')
sheet = wb.get_sheet_by_name('Sheet1')
translated = []
for row in sheet.iter_rows('A2:A74'):
for cell in row:
translated.append(cell.value)
for row, val in zip(sheet.iter_rows('B2:B74'), translated):
for cell in row:
cell.value = val
wb.save("sheet.xlsx")
因此,与访问单元格的方式非常相似,然后您需要在最后保存工作簿!这对你有用吗?以前您是以只读模式打开工作簿的。