You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.6.9多用户接口JSON响应写入CSV问题修复求助

修复后代码
import requests
import csv

user_list = '''robby.cornelissen 
adrian.charles
tyler.swenson 
brandon.miller
nathan.gallete'''

# 按照期望输出调整端口数组,和用户数量一一对应
ports = [2316, 2316, 2340, 2380, 2482]
# 去除每个用户名前后的空格、换行符,避免请求参数错误
users = [u.strip() for u in user_list.split('\n')]
fname = "result.csv"

with open(fname, "w", encoding='utf-8') as file:
    csv_file = csv.writer(file, lineterminator='\n')
    # 表头新增user_list、port两列
    csv_file.writerow(["depotFile", "host", "isgroup", "line", "perm", "unmap", "user", "user_list", "port"])
    for user, port in zip(users, ports):
        print(f'当前处理用户和端口: {user}, {port}')
        url = f'http://198.98.99.12:46567/{port}/protects/{user}'
        print(f'请求接口: {url}')
        # 直接使用带认证的请求解析数据,删除重复的无认证无效请求
        response = requests.get(url, auth=('tool-admin', 'password'))
        data = response.json()
        for item in data:
            # 每行末尾追加当前循环对应的用户名和端口
            row = list(item.values()) + [user, port]
            csv_file.writerow(row)
修复说明
  • 处理了用户名首尾多余的空格、换行符,避免接口请求参数错误
  • 删除了重复的无认证无效请求,直接使用带身份校验的请求结果解析JSON,解决部分用户数据请求失败无法写入的问题
  • 调整ports数组元素,和5个用户一一匹配,符合期望输出的端口对应关系
  • 表头新增user_list和port两列,写入每行数据时自动追加当前对应的用户名和端口
  • 新增文件编码指定为utf-8,避免特殊字符写入乱码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:06:03