簡體   English   中英

使用xlxs writer模塊將列表中的數據寫入excel表中的列

[英]Write data present in list to a column in excel sheet using xlxs writer module

我有兩個列表定義為:

Column1=[1,2,3,4]
Column2=[5,6,7,8]

我想追加Column1列表到Excel工作表與第一列Column2列表中的Excel工作表的第二列。 Excel工作表看起來像:

在此輸入圖像描述

我的代碼到目前為止:

from xlxswriter import*
workbook=Workbook('Ecl.xlxs')
Report_Sheet=workbook.add_worksheet()
for row_ind,row_value in enumerate(Column1):
    print row_ind,row_value
    Report_Sheet.write('A',Column1)#i want something similar to this

因此,每個列表都應附加到每列。

你可以嘗試像這樣的熊貓:

import pandas as pd
df = pd.DataFrame.from_dict({'Column1':[1,2,3,4],'Column2':[5,6,7,8]})
df.to_excel('test.xlsx', header=True, index=False)

test.xlsx將與您需要的一樣。

更新:

import pandas as pd
Column1 = [1,2,3,4]
Column2 = [5,6,7,8]
df = pd.DataFrame.from_dict({'Column1':Column1,'Column2':Column2})
df.to_excel('test.xlsx', header=True, index=False)

使用zip()enumerate()可以獲得迭代數據所需的值,如:

碼:

Column1 = [1, 2, 3, 4]
Column2 = [5, 6, 7, 8]

from xlsxwriter import Workbook
workbook = Workbook('Ecl.xlsx')
Report_Sheet=workbook.add_worksheet()
Report_Sheet.write(0, 0, 'Column1')
Report_Sheet.write(0, 1, 'Column2')

for row_ind, row_value in enumerate(zip(Column1, Column2)):
    print row_ind, row_value
    for col_ind, col_value in enumerate(row_value):
        Report_Sheet.write(row_ind + 1, col_ind, col_value)

XlsxWriter具有write_row()write_column()方法,可以在單個調用中寫入數據列表。 所以你可以寫這樣的列數據:

from xlsxwriter import Workbook

Column1 = [1, 2, 3, 4]
Column2 = [5, 6, 7, 8]

workbook = Workbook('Ecl.xlsx')
Report_Sheet = workbook.add_worksheet()

# Write the column headers if required.
Report_Sheet.write(0, 0, 'Column1')
Report_Sheet.write(0, 1, 'Column2')

# Write the column data.
Report_Sheet.write_column(1, 0, Column1)
Report_Sheet.write_column(1, 1, Column2)

workbook.close()

輸出:

在此輸入圖像描述

注意:示例代碼中的文件擴展名中存在拼寫錯誤。 在Excel中重要的是具有正確的擴展名。

暫無
暫無

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

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