使用 xlxs 编写器模块将列表中的数据写入 excel sheet 中的列
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 sheet 的第一列,将 Column2
列表附加到 Excel 的第二列sheet。 Excel sheet 看起来像:
到目前为止我的代码:
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
所以每个列表都应该附加到每一列。
您可以像这样尝试 pandas:
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()
and 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 拥有正确的扩展名很重要。
我有两个列表定义为:
Column1=[1,2,3,4]
Column2=[5,6,7,8]
我想将 Column1
列表附加到 Excel sheet 的第一列,将 Column2
列表附加到 Excel 的第二列sheet。 Excel sheet 看起来像:
到目前为止我的代码:
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
所以每个列表都应该附加到每一列。
您可以像这样尝试 pandas:
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()
and 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 拥有正确的扩展名很重要。