python利用xlwings写入一行或一列Excel数据

注意点:这里的sheet参数必须是已经存在的sheet表,不能新建

写入列

一次写一列

import xlwings as xw


def write_col(io, sheet, col='A1', data=None):
    """
    写入一列数据
    :param io: Excel文件
    :param sheet: sheet,int或者str类型
    :param col: 哪一列,如:'A1'
    :param data: 要写入的数据,list类型
    :return:
    """
    wb = xw.Book(io)
    if isinstance(sheet, str):
        sht = wb.sheets(sheet)
    else:
        sht = wb.sheets[sheet]
    sht.range(col).options(transpose=True).value = data
    wb.save()
    wb.app.quit()

一次写多列

注意点:此方法所需的data参数必须是list嵌套,如:[[1, 9], [2, 8], [3, 7], [4, 6]],并且里面的每个list的长度必须一致

def write_col(io, sheet, col='A1', data=None):
    """
    写入多列数据
    :param io: Excel文件
    :param sheet: sheet,int或者str类型
    :param row: 从哪一列开始写入,如:'A1'
    :param data: 要写入的数据,嵌套list类型
    :return:
    """
    wb = xw.Book(io)
    if isinstance(sheet, str):
        sht = wb.sheets(sheet)
    else:
        sht = wb.sheets[sheet]
    sht.range(col).value = data
    wb.save()
    wb.app.quit()

写入效果如下:

写入行

一次写一行

注意点:此方法所需的data参数是list类型,如:[1, 2, 3, 4]

def write_row(io, sheet, row='A1', data=None):
    """
    写入一行数据
    :param io: Excel文件
    :param sheet: sheet,int或者str类型
    :param row: 哪一行,如:'A1'
    :param data: 要写入的数据,list类型
    :return:
    """
    wb = xw.Book(io)
    if isinstance(sheet, str):
        sht = wb.sheets(sheet)
    else:
        sht = wb.sheets[sheet]
    sht.range(row).value = data
    wb.save()
    wb.app.quit()

一次写多行

注意点:此方法所需的data参数必须是list嵌套,如:[[1, 2], [3, 4], [5, 6]],并且里面的每个list的长度必须一致

def write_row(io, sheet, row='A1', data=None):
    """
    写入多行数据
    :param io: Excel文件
    :param sheet: sheet,int或者str类型
    :param col: 从哪一行开始写入,如:'A1'
    :param data: 要写入的数据,嵌套list类型
    :return:
    """
    wb = xw.Book(io)
    if isinstance(sheet, str):
        sht = wb.sheets(sheet)
    else:
        sht = wb.sheets[sheet]
    sht.range(row).options(transpose=True).value = data
    wb.save()
    wb.app.quit()

写入效果如下:

原文地址:https://www.cnblogs.com/rongge95500/p/13201864.html