异常是使用 xlwt 和 python 将列表插入到列中

use*_*886 3 python excel xlwt

我对 python 非常陌生,我正在使用 xlwt 处理列表和 Excel 工作表。我使用st.write(ID,name). 我的第一个疑问是 write 中的 ID 是 rowID 还是 columnID(意味着 write(1,'abc') 将写入第一行或第一列)?

现在我有 6 个列表,我想将每个列表写入工作表中的一列。如何写?是否st.write(colIDX,0,list1)是有效的写入语句(是否将 list1 写入第 0 列)?如果没有,那我该怎么做?

更新:这是我目前使用的代码,但它抛出异常Exception: invalid worksheet name u'test'

import xlwt
import os
from merge import *

workbook = xlwt.Workbook()
sheet = workbook.add_sheet('test')

sheet.write(0,0,'Column1')
sheet.write(0,1,'Column2')
sheet.write(0,2,'Column3')
sheet.write(0,3,'Column4')

lst1 = list()
lst2 = list()
lst3 =  lt3 + lt4  #lt1 lt2 lt3 lt4 are lists are from merge file
lst4 =  lt1 + lt2


pt = 'C:/Users/Desktop/tmp'
for filename in os.listdir(pt):
    lst1.append(filename)
    lst2.append('PST')

ng = 'C:/Users/Desktop/tmp2'
for filename in os.listdir(ng):
    lst1.append(filename)
    lst2.append('NG')



column_number = 0
for row_number, item in enumerate(lst1):
    sheet.write(row_number, column_number, item)

column_number = 1
for row_number, item in enumerate(lst2):
    sheet.write(row_number, column_number, item)

column_number = 2
for row_number, item in enumerate(lst3):
    sheet.write(row_number, column_number, item)

column_number = 3
for row_number, item in enumerate(lst4):
    sheet.write(row_number, column_number, item)


workbook.save('test.xls')
Run Code Online (Sandbox Code Playgroud)

Grv*_*agi 5

在我的情况下,只是超出了工作表名称中允许的字符限制

所以,剪掉你的 name_string 再试一次可以帮助你。

ws = wb.add_sheet(_small_course_name)

Excel 对 31 个字符的工作表名称有硬性限制。你的名字是 34 个字符。这不是 xlwt 限制。在 Excel 中手动尝试。

更多信息:https : //groups.google.com/forum/#!msg/python-excel/QK4iJrPDSB8/D4LmyJJ7tXkJ