0

我正在遍历 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 列。有没有人会用这段代码帮助我解决我的问题?我在“谷歌搜索”,但到目前为止我还没有找到解决方案......

4

1 回答 1

2

您是否尝试过以与阅读它们类似的方式进行操作?

编辑,几个修复:

Edit2,小改进(我有一些重言式逻辑):

IE:

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")

因此,与您访问单元格的方式非常相似,然后您需要在最后保存工作簿!这对你有用吗?以前,您以只读模式打开工作簿。

于 2015-12-10T16:01:10.400 回答