如何用Python解析curl请求返回数据并导出为CSV文件?
嘿,你已经搞定了最麻烦的字符串转字典那一步,导出CSV其实是小菜一碟!我给你两种实用的方法,都是Python里常用的方案:
方法一:使用Python内置
csv模块(无需额外安装) 这是最轻量化的方案,不需要安装第三方库,适合简单的导出需求:
1. 确认数据格式
首先确保你已经把接口返回的字符串成功转成了字典:
import ast # 假设response是你请求curl接口得到的响应对象 data_dict = ast.literal_eval(response.text)
2. 提取核心数据
从字典中取出需要导出的data列表,这是我们要写入CSV的内容:
raw_data = data_dict['data']
3. 写入CSV文件
用csv.DictWriter可以直接把字典列表转成CSV,自动匹配表头和对应值:
import csv # 定义CSV的表头,和数据字典里的键完全对应 fieldnames = ['date', 'count'] # 打开文件时指定encoding和newline参数,避免乱码和多余空行 with open('daily_counts.csv', 'w', encoding='utf-8', newline='') as csv_file: # 初始化写入器 writer = csv.DictWriter(csv_file, fieldnames=fieldnames) # 先写入表头 writer.writeheader() # 批量写入所有数据行 writer.writerows(raw_data)
方法二:使用
pandas库(更简洁,适合复杂数据) 如果你的数据量较大或者后续需要做数据处理,用pandas会更高效,一行代码就能搞定导出:
import pandas as pd # 直接把data列表转成DataFrame df = pd.DataFrame(data_dict['data']) # 导出CSV,index=False表示不写入行索引 df.to_csv('daily_counts_pandas.csv', index=False, encoding='utf-8')
注意:如果没安装pandas,需要先执行
pip install pandas安装。
小提示
- 如果后续你的
data字段里新增了其他键(比如user_id),只需要修改fieldnames列表(方法一)或者直接导出(方法二),不需要额外调整代码 - 导出的CSV文件可以直接用Excel、Google Sheets等工具打开查看
内容的提问来源于stack exchange,提问作者wawaloo_17
相关产品推荐
相关产品推荐

