例外是使用xlwt和python将列表插入到列中

我是非常新的python,我正在使用xlwt.I列表和Excel表工作,使用st.write(ID,name)创build了6个st.write(ID,name) 。 我的第一个疑问是写入ID是rowID或columnID(意味着写(1,'abc')将写入第一行或第一列)?

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

更新:这是我目前正在使用的代码,但它Exception: invalid worksheet name u'test'exception作为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') 

在我的情况下,只是超过表名中的字符限制

所以,削减你的name_string,再试一次可以帮助你。

ws = wb.add_sheet(_small_course_name)

Excel对31个字符的表名有一个严格限制。 你的名字是34个字符。 这不是xlwt限制。 在Excel中手动尝试。

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

首先,这是一个Worksheet.write()实现( 源 ):

 def write(self, r, c, label="", style=Style.default_style): self.row(r).write(c, label, style) 

第一个参数是一个行号,第二个是一个列号。

另外,下面是如何将列表写入第一列的示例:

 import xlwt data = ['Hello', 'World'] workbook = xlwt.Workbook() worksheet = workbook.add_sheet('test') column_number = 0 for row_number, item in enumerate(data): worksheet.write(row_number, column_number, item) workbook.save('test.xls') 

这将产生一个test.xls文件在A1单元格中的“你好”和A2单元格中的“世界”。

另请参阅相关主题:

  • Python – 写入Excel电子表格
  • Python XLWT:将一个列表写入一个单元格
  • 将数组从特定列开始写入使用xlwt的新工作簿

希望有所帮助。

还有一个方法可以做到这一点(看看是否有帮助) – 以pythonic的方式做

调换你的列表像下面,然后粘贴到Excel正常。

 >>> a = [['a', 'b', 'c'], ['aaaaaaaaaa', 'b', 'c'], ['a', 'bbbbbbbbbb', 'c']] >>> list(zip(*a)) [('a', 'aaaaaaaaaa', 'a'), ('b', 'b', 'bbbbbbbbbb'), ('c', 'c', 'c')]