You need to enable JavaScript to run this app. 如何使用Python将列表中的每个值作为单独行写入CSV文件
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python将列表中的每个值作为单独行写入CSV文件

问题原因

你的代码问题出在rows变量的构造逻辑:
csv.writer的writerows方法要求传入嵌套列表结构,每一个子列表对应CSV的一行。你现在写的rows = [my_list]是把所有标题打包成了同一行的多个列,所以输出时所有内容会用逗号分隔放在同一行。

修改后的完整代码

import requests
import csv
my_list = []
for i in range(1, 10):
    url = 'https://jsonplaceholder.typicode.com/todos/'+str(i)
    response = requests.get(url)
    jsonResponse = response.json()
    my_list.append(jsonResponse['title'])

print(my_list)

fields = ['names'] 
    
# 修改点:将每个标题单独封装为一个子列表,对应CSV的一行(只有1列)
rows = [[item] for item in my_list]
  
with open('data.csv', 'w', newline='', encoding='utf-8') as f:
    write = csv.writer(f)
    write.writerow(fields)
    write.writerows(rows)

额外补充:打开文件时加上newline=''可以避免Windows系统下生成的CSV出现多余空行,加encoding='utf-8'可以避免特殊字符乱码。

修改后运行代码生成的CSV就会和你预期的效果一致,每个名称单独占一行。

内容的提问来源于stack exchange,提问作者Dave Brady

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 19:24:04