首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python程序,用于对具有时间范围的文件的输出进行grep

python程序,用于对具有时间范围的文件的输出进行grep
EN

Stack Overflow用户
提问于 2016-11-23 21:38:20
回答 1查看 177关注 0票数 2

我使用的是python 2.6.6

我有一个示例文件1.csv

1.csv

代码语言:javascript
复制
11887788201606180000 value=1 sat sun mon tue , 998848494 992920209 992828282 kdkkdkdf 992828228 o333448482 

28283838201606180000 value-2 jan feb mar apr , 8849494994 49499494 499494949 49949494  499494484 449494994

33838383201606180000 value-2 jan feb mar apr , 8849494994 49499494 499494949 49949494  499494484 449494994

47474747201606190000 value-2 jan feb mar apr , 8849494994 49499494 499494949 49949494  499494484 449494994

47474747201606200000 value-2 jan feb mar apr , 8849494994 49499494 499494949 49949494  499494484 449494994

我想获取时间范围从20160618到20160619的数据

我的预期输出应该是这样的:

代码语言:javascript
复制
11887788201606180000 value=1 sat sun mon tue , 998848494 992920209 992828282 kdkkdkdf 992828228 o333448482 

28283838201606180000 value-2 jan feb mar apr , 8849494994 49499494 499494949 49949494  499494484 449494994

33838383201606180000 value-2 jan feb mar apr , 8849494994 49499494 499494949 49949494  499494484 449494994

47474747201606190000 value-2 jan feb mar apr , 8849494994 49499494 499494949 49949494  499494484 449494994

我写的代码是

代码语言:javascript
复制
import csv
import sys
import time
import datetime
if __name__ == '__main__':
    from_raw = raw_input('\nEnter From date :')
    from_date = datetime
    print 'From date: = ' + str(from_date)
    to_raw = raw_input('\nEnter TO Date  :')
    to_date = datetime
    in_file = './file.csv'
    for line in in_file:
        fields = line.split(',')
        found_date = datetime.date
        if from_date <= found_date <= to_date:
            print line
    in_file.close()

我像这样执行它

python script.py 1.csv

我可以在脚本中输入开始日期和结束日期,但无法获得预期的输出

请帮帮忙

EN

回答 1

Stack Overflow用户

发布于 2016-11-24 00:16:39

只是阅读你的代码,问题出在代码行上。

代码语言:javascript
复制
fields = line.split(',') 

您在",“处拆线,这不是您想要的。假设日期子字符串始终位于字符串中的同一位置,我将尝试一个简单的解决方案,即

代码语言:javascript
复制
found_date = line[8:16] 

并同时删除以下行:

代码语言:javascript
复制
found_date = datetime.date

此行将把该行中的found_date更改为您不希望发生的当前日期/时间。

只要输入格式是一致的,这些简单的更改就可以解决您的编码问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40766024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档