Python中无法将所有日期转换为timestamp的问题求助
问题分析与修复
你的代码核心问题在于**isoparse只能接收单个日期字符串参数**,但你通过*i['shopHistory']将整个日期列表解包成多个参数传入,导致参数数量不匹配报错。另外代码存在重复导入datetime的冗余,也可以一并清理。
以下是修复后的代码:
from datetime import datetime from dateutil.parser import isoparse import requests url = requests.get("https://fortnite-api.com/v2/cosmetics/br/search/all?language=es&name=palito%20de%20pescado%20de%20gominola&searchLanguage=es") historialSKIN = url.json() # 遍历每个皮肤数据 for skin in historialSKIN["data"]: # 遍历该皮肤的所有商店历史日期 for date_str in skin['shopHistory']: # 解析单个日期字符串并转换为timestamp timestamp = isoparse(date_str).timestamp() # 输出整数格式的timestamp(和你期望的1652777302格式一致) print(int(timestamp))
关键修复点:
- 移除了重复的
datetime导入和未使用的relativedelta、parser导入 - 将
*i['shopHistory']改为遍历列表中的每个日期字符串,逐个传入isoparse - 对转换后的timestamp取整,确保输出为你期望的整数格式
运行修复后的代码,就能正确将每个shopHistory中的ISO格式日期转换为Unix时间戳。
内容的提问来源于stack exchange,提问作者juancarlos5487
相关产品推荐
相关产品推荐

