python利用xlwings寫入一行或一列Excel數據


注意點:這里的sheet參數默認是已經存在的sheet表,如不存在該sheet,則使用add方法新增即可,示例:

wb = xw.Book(r"C:\Users\Desktop\result.xlsx")
sht = wb.sheets.add('result')
# 新增sheet頁時,可選擇新增位置,由參數before或after控制
xw.App(visible=False) # 后台寫入,不展示excel界面

寫入列

一次寫一列

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

寫入效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM