Python 2.7 请在下面的节目中指出我的错误

Python 2.7 请在下面的节目中指出我的错误,python-2.7,xlwt,Python 2.7,Xlwt,在这里,我尝试从特定站点提取黑名单IP列表,并尝试制作包含以下字段的excel表格: IP,日期。。。。。。新的更新代码是: import xlwt import urllib def Bl(): link = 'https://www.dshield.org/ipsascii.html?limit=100' p = urllib.urlopen(link) text = p.readlines() wbk = xlwt.Workbook() she

在这里,我尝试从特定站点提取黑名单IP列表,并尝试制作包含以下字段的excel表格: IP,日期。。。。。。新的更新代码是:

import xlwt
import urllib

def Bl():
    link = 'https://www.dshield.org/ipsascii.html?limit=100'
    p = urllib.urlopen(link)
    text = p.readlines()


    wbk = xlwt.Workbook()
    sheet = wbk.add_sheet('python')
    sheet.write(0,0,'Blacklist IP')
    sheet.write(0,1,'Reports')
    sheet.write(0,2,'abcd')
    sheet.write(0,3,'date')
    sheet.write(0,4,'Date')

    row = 1 #counter for rows.
    col = 0 #counter for columns.
    x = 0   #counter for printing the n'th element in the string w.

    for line in text:
        li = line.strip()
        w = line.split()


        if not li.startswith("#"):
            sheet.write(row,col,w[0])
            sheet.write(row,1,w[1])
            sheet.write(row,2,w[2])
            sheet.write(row,3,w[3])
            sheet.write(row,4,w[4])
            row = row + 1

    wbk.save('new.xls')

Bl()

我相信应该是这样的,尽管我的python并不优秀:

import xlwt
import urllib

link = 'https://www.dshield.org/ipsascii.html?limit=100'
p = urllib.urlopen(link)
text = p.readlines()


wbk = xlwt.Workbook()
sheet = wbk.add_sheet('Blacklist IP')

row = 1 #counter for rows.
col = 0 #counter for columns.
#x = 0   #counter for printing the n'th element in the string w.

for line in text:
    li = line.strip()
    w = line.split()
    print "The line " + line + " was split into " + len(w) + " size"

    for i in range(0,len(w)-1):
        if not li.startswith("#") and not li.isspace():
            sheet.write(row,col,w[i])
            #x = x + 1      
            col = col + 1
            if col > 256:
                print "Line of " + li
                print "Row: " + row
                print "Col: " + col
                raise ValueError('Too many columns, can\'t insert ' + w)

    row = row + 1

wbk.save('new.xls')
理由是,我认为每次编写值时都应该更改列,因为这似乎是导致当前错误的原因。我还认为,您应该在每一行之后更改行,而不仅仅是在代码的末尾,这样做似乎是多余的


[在用户反馈后编辑更新]

您运行代码了吗?如果是,会发生什么?何时何地出错?您会收到什么错误消息?您尝试了什么来修复出现的错误?你得到输出了吗?如果输出错误,预期的输出是什么?错误是:回溯(最近一次调用):文件“C:\Python27\blacklist.py”,第23行,在sheet.write(行,列,w[x])索引器:列表索引超出范围您尝试过
sheet.write(行,列,w[i])吗
?不知道为什么在使用i时要创建一个额外的x值,而不是重复使用w[i]时得到的wordError(Traceback(最近一次调用):文件“C:\Python27\blacklist.py”,第23行,在sheet.write(row,col,w[i])中;文件“C:\Python27\lib\site packages\xlwt\Worksheet.py”,第1030行,在write self.row(r.write)中(c,标签,样式)文件“c:\Python27\lib\site packages\xlwt\Row.py”,第240行,写入StrCell(self.\uu idx,col,style\u index,self.\uu parent\u wb.add\u str(标签))文件“c:\Python27\lib\site packages\xlwt\Row.py”,第159行,插入单元格引发异常(msg)异常:尝试覆盖单元格:sheetname=u'Blacklist IP'rowx=1 colx=8read。Stackoverflow不是一个调试服务。是的,您是对的,但仍然得到此回溯(最近一次调用):文件“C:\Python27\Blacklist.py”,第24行,在sheet.write(行,列,w[i])文件“C:\Python27\lib\site packages\xlwt\Worksheet.py”,第1030行,在write-self.row(r).write(c,label,style)文件“c:\Python27\lib\site-packages\xlwt\row.py”中,第235行,在write-self.\uu-adjust\u-bound\u-col\u-idx(col)文件“c:\Python27\lib\site-packages\xlwt\row.py”中,第78行,在调整\uu-col-idx-raise-ValueError中(“列索引(%r)不是范围(256)”内的整数%arg)ValueError:列索引(256)不是范围(256)中的整数这是因为您的拆分字符串长度超过256个字符,我猜xlwt只能处理256列,如果您达到该限制,是否会导致问题转移到另一行?如果您不介意另一行,请检查更新的代码。但是,如果由于新行或因为您达到256行,则可能会导致问题关于xlwt限制的更多详细信息:只有5列,请查看链接以获得更好的视图