weixin_43746317
James the Tomato�
采纳率54.5%
2019-09-01 23:00

使用Python 将某个excel 中的一列 写入 另一个excel 中的某一列

已采纳

嗨 朋友们:

我还在编写这个程序中...然而遇到了一些新的麻烦...

想要实现的功能: 将某个excel 中的一列 写入 另一个excel 中的一列.

当前我已经可以通过自定义的 get infor() 函数 提取某一excel 表中的数据 并存储在列表 (L=[ ] )中,
图片说明

并通过open excel cost () 函数 将这些信息插入到目标excel之中了。

然而,我发现自己所使用的 插入excel 的方法只能针对 某个 特定的 单元格 (如我代码之中的 "D2" 单元格)。 我想对这个open excel cost () 函数 代码进行调整,使得它可以根据get infor() 函数中的列表返回结果 对目标excel中的某一列 批量赋值。

请问应该如何实现呢?

我的代码如下, 感谢大佬们的辛苦指正

import openpyxl
import xlrd

def get_infor():
    book = xlrd.open_workbook('C:/Users/lenovo/Desktop/模板.xlsx')
    sheet = book.sheet_by_name('WRT模板IN')
    L =[]
    for i in range (2,sheet.nrows):          # i 从第四列开始
        PN = str(sheet.cell(i,5).value)
        Cost_USD = str(sheet.cell(i, 9).value)
        L.append((PN,Cost_USD))
    #t=tuple(L)
    return L
    #print(L)

t1= get_infor()
#print(t1)
#
# sh = t1[0][0]

# print(sh)
#
def Open_excel_cost():
    workbook = openpyxl.load_workbook('C:/Users/lenovo/Desktop/文档模板/IN/Cost_IN.xlsx')
    sheet = workbook.worksheets[0]   # 第一个页签
    sheet['D2'] = t1[0][1]
    #sheet['A1'] = t1[1][2]
    workbook.save('C:/Users/lenovo/Desktop/文档模板/IN/Cost_IN.xlsx')  # 此步骤要保存才行的, 否则是不会在excel中显示的 2019.8.24
    print(sheet['D2'].value)
    print(sheet.title)

Open_excel_cost()

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • soar3033 soar3033 2年前

    把sheet['D2'].value改成sheet.cell(1,3).value这种形式。cell(i,j)的i、j分别表示行、列。

    点赞 1 评论 复制链接分享