Python数据字符清理问题:仅移除£符号未达预期输出
问题描述
处理爬取的数据时,无法完全移除多余字符,仅成功清除了价格中的£符号。当前输出的价格仍带有空格,日期保留了多余的T和时区后缀,不符合预期格式。
已尝试代码:
data = json.loads(r.text) products = data['upcoming'] product_list = [] for product in products: price = product['price'] date = product['launchDate'] productsforsale = { 'Retail_price': price, 'Launch_date': date, } product_list.append(productsforsale) df = pd.DataFrame(product_list).replace('£',"") df.to_csv('PATH.csv') print('saved to file')
期望输出格式:
110.00 2023-01-15 08:00
解决方案
- 处理价格字段:除移除
£外,同时清除空格,保证格式整洁 - 处理日期字段:拆分原始日期字符串,提取日期和小时分钟部分,拼接成目标格式
- 优化循环逻辑:循环内仅处理数据,结束后统一生成文件,避免重复IO操作
修改后的代码:
import json import pandas as pd data = json.loads(r.text) products = data['upcoming'] product_list = [] for product in products: # 清理价格:移除£和多余空格 clean_price = product['price'].replace('£', '').strip() # 格式化日期:提取日期+小时分钟部分 date_part = product['launchDate'].split('T')[0] time_part = product['launchDate'].split('T')[1].split('+')[0][:5] clean_date = f"{date_part} {time_part}" product_item = { 'Retail_price': clean_price, 'Launch_date': clean_date, } product_list.append(product_item) # 统一生成DataFrame并保存 df = pd.DataFrame(product_list) df.to_csv('PATH.csv', index=False) print('saved to file')
内容的提问来源于stack exchange,提问作者user21113474
相关产品推荐
相关产品推荐

