Python xlsxwriter按列筛选并发布到另一个工作表

Python xlsxwriter按列筛选并发布到另一个工作表,python,xlsxwriter,Python,Xlsxwriter,我想我已经超出了我业余Python知识的范围。我正在使用xlsxwriter过滤txt文件,并获取特定字符串匹配周围的数据。我将捕获的数据放入一个Excel表格,该表格与4列时间戳、字符串匹配值、值1、值2(如下表)相关,我在这里没有问题 我的下一个任务是尝试按VALUE1列筛选Excel工作表。这就是我的Python知识被扩展的地方。我希望筛选-88.00和-88.99以及-89.00和-89.99之间的范围,然后将筛选的数据发布到Excel中的特定工作表中。在阅读了xlsxwriter文档

我想我已经超出了我业余Python知识的范围。我正在使用xlsxwriter过滤txt文件,并获取特定字符串匹配周围的数据。我将捕获的数据放入一个Excel表格,该表格与4列时间戳、字符串匹配值、值1、值2(如下表)相关,我在这里没有问题

我的下一个任务是尝试按VALUE1列筛选Excel工作表。这就是我的Python知识被扩展的地方。我希望筛选-88.00和-88.99以及-89.00和-89.99之间的范围,然后将筛选的数据发布到Excel中的特定工作表中。在阅读了xlsxwriter文档之后,我查看了xlsxwriter过滤,并在下面生成了一些代码,但我认为我正在努力使用正确的措辞。如有任何提示,将不胜感激

worksheetFILTER.autofilter(0, 0, FILTERtot, 3)
worksheetFILTER.filter_column(2, 'x > -89 and x < -88')

# Hide rows here if they don't match
rowfilt = 1
for row_data in (worksheetFILTER):
    value1 = row_data[2]

    # does it match?
    if value1 == (r'88.\d{2}'):
        # yes.
        pass
    else:
        # No - hide rows.
        worksheetFILTER.set_row(rowfilt, options={'hidden': True})

    # Place matched rows to different worksheet
    worksheetFILTERED.write_row(rowfilt, 0, row_data)

    # Move to next row.
    rowfilt += 1
worksheetFILTER.autofilter(0,0,FILTERtot,3)
工作表过滤器。过滤器列(2,'x>-89和x<-88')
#如果行不匹配,请在此处隐藏行
rowfilt=1
对于(工作表过滤器)中的行数据:
值1=行数据[2]
#相配吗?
如果value1==(r'88.\d{2}'):
#对。
通过
其他:
#否-隐藏行。
工作表过滤器.set_行(rowfilt,options={'hidden':True})
#将匹配的行放置到不同的工作表中
工作表过滤。写入行(行过滤,0,行数据)
#移到下一行。
rowfilt+=1

类似于以下的方法应该可以工作:

# Does it match our criteria.
if value1 > -89 and value1 < -88
    # Yes. Then don't filter this row.
    pass
else:
    # No. Then hide the row.
    worksheetFILTER.set_row(rowfilt, options={'hidden': True})
#是否符合我们的标准。
如果值1>-89和值1<-88
#对。那就不要过滤这一行。
通过
其他:
#否。然后隐藏该行。
工作表过滤器.set_行(rowfilt,options={'hidden':True})
基本上,条件应与您先前设置的自动筛选条件相匹配:

worksheetFILTER.filter_column(2, 'x > -89 and x < -88')
工作表过滤器。过滤器\u列(2,'x>-89和x<-88')

有关更多详细信息,请参阅中的文档部分和自动筛选子示例。

当您从文本文件中获取数据时,为什么不进行筛选?嗨,Padraic-是的,您的权利,这将是最有意义的-为愚蠢的问题道歉-不过获得第二个意见很好。谢谢别担心,这不是一个愚蠢的问题。我相信有一种方法可以满足您的需求,但我认为,只需进行初步筛选就更容易了。