我使用的是python 2.6.6
我有一个示例文件1.csv
1.csv
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的数据
我的预期输出应该是这样的:
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我写的代码是
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
我可以在脚本中输入开始日期和结束日期,但无法获得预期的输出
请帮帮忙
发布于 2016-11-24 00:16:39
只是阅读你的代码,问题出在代码行上。
fields = line.split(',') 您在",“处拆线,这不是您想要的。假设日期子字符串始终位于字符串中的同一位置,我将尝试一个简单的解决方案,即
found_date = line[8:16] 并同时删除以下行:
found_date = datetime.date此行将把该行中的found_date更改为您不希望发生的当前日期/时间。
只要输入格式是一致的,这些简单的更改就可以解决您的编码问题。
https://stackoverflow.com/questions/40766024
复制相似问题