我对 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)
在我的情况下,只是超出了工作表名称中允许的字符限制
所以,剪掉你的 name_string 再试一次可以帮助你。
ws = wb.add_sheet(_small_course_name)
Excel 对 31 个字符的工作表名称有硬性限制。你的名字是 34 个字符。这不是 xlwt 限制。在 Excel 中手动尝试。
更多信息:https : //groups.google.com/forum/#!msg/python-excel/QK4iJrPDSB8/D4LmyJJ7tXkJ