我从互联网创建了一个数据集:
我正在使用基于我的本地文件(JSON 输出)的以下代码:
Validdata = []
for new in Sampledata:
print(str(new['title']) + " | " + str(new['published'][:10]))
Validdata.append(new)
Run Code Online (Sandbox Code Playgroud)
我的输出:
Amnesia: Collection Hits Xbox One Next Week | 2018-08-27
(USA) Building Safety Technician | 2018-08-27
SONY VAIO VPCCA15FG DRIVERS DOWNLOAD | 2018-08-26
Google Alert - windows 10 | 2018-08-27
Run Code Online (Sandbox Code Playgroud)
如果我们看到我有这样的数据,每个标题的末尾都有日期,并且我只想打印出介于特定日期范围之间的文章:
我尝试使用它进行比较,但收到此错误消息:
Startdate = '2018-09-01'
Enddate = '2018-10-01'
underDaterange = []
for value in Sampledata['title'] and Sampledata['published'][:10] in range [Startdate:Enddate]:
underDaterange.append(value)
Run Code Online (Sandbox Code Playgroud)
错误信息:
TypeError: list indices must be integers or slices, not str
Run Code Online (Sandbox Code Playgroud)
看看内置的 datetime.strptime
from datetime import datetime
dates = ('2018-01-01', '2018-08-27', '2018-09-01', '2018-10-01')
format = '%Y-%m-%d'
start_dt = datetime.strptime('2018-08-01', format)
end_dt = datetime.strptime('2018-09-30', format)
[date for date in dates if datetime.strptime(date, format) > start_dt and datetime.strptime(date, format) < end_dt]
# ['2018-08-27', '2018-09-01']
Run Code Online (Sandbox Code Playgroud)
另外,请检查您的变量命名约定和缩进的使用。
| 归档时间: |
|
| 查看次数: |
3583 次 |
| 最近记录: |