簡體   English   中英

無法使用 xlsxwriter 庫將數據導出到 Excel

[英]Not able to export data into Excel using xlsxwriter library

我正在嘗試迭代一個 For 循環,以便將兩個列表中的元素導出到 A 列和 B 列中的 excel。但是,每當我運行代碼時,它只會在 B 列第 1 行 (B1) 中顯示一個數字。

整個代碼太長了,所以我只附上了我卡住的代碼片段。

這就是我在運行代碼時在 excel 文件中得到的內容

#Exporting data to Excel
workbook = xlsxwriter.Workbook('efficient_front.xlsx')
worksheet = workbook.add_worksheet()

i = 1
if company == first_company:
    for perc_return in returns:
        worksheet.write('A' + str(i) , perc_return)
        i =+ 1
else:
    for perc_return in returns:
        worksheet.write('B' + str(i), perc_return)
        i =+ 1

workbook.close()

我認為這是您想要實現的目標

考慮給定的列表 => prod_codes,ID_codes。 下面的代碼會將每個列表寫為 excel 表中的一列。 worksheet.write()的參數如下圖

worksheet.write(row_number,column_number,value_to_be_written)

    prod_codes = [1001,1002,1003,1004,1005,1006]
    ID_codes = [123,345,567,789,908,345]
    with xlsxwriter.Workbook('PATH for XLSX to be created') as workbook:
            worksheet = workbook.add_worksheet("NAME_ME")
            for index,value in enumerate(ID_codes):
                   worksheet.write(index,0,value)
            
            for index,value in enumerate(prod_codes):
                   worksheet.write(index,1,value)

請通過官方文檔 go ,清楚如何執行您需要執行的操作。 https://xlsxwriter.readthedocs.io/working_with_data.html

您的代碼中有一個靜默語法錯誤,使用i =+ 1而不是i += 1 代碼轉換為i = +1相當於i = 1所以它不會迭代。

這是使用enumerate()worksheet.write()的 (row, col) 語法構建代碼的另一種方法:

import xlsxwriter

workbook = xlsxwriter.Workbook('efficient_front.xlsx')
worksheet = workbook.add_worksheet()

returns = [1, 2, 3, 4, 5]
company = True
first_company = False

if company == first_company:
    col_num = 0
else:
    col_num = 1

for row_num, perc_return in enumerate(returns):
    worksheet.write(row_num, col_num, perc_return)

workbook.close()

Output

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM