JT Tomato�
2019-09-01 23:00
采纳率: 100%
浏览 5.0k
已采纳

使用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 2019-09-05 09:09
    已采纳

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

    已采纳该答案
    评论
    解决 无用 2
    打赏 举报

相关推荐 更多相似问题