我一直在尝试编写一些Python脚本来自动化一些API测试。
我需要它从 CSV 或其他格式文件中获取整个 JSON 主体,但不仅仅是每个文件一个主体,而是迭代其中的所有“主体”。
我的说法是,每个细胞或值都是一个整体。这来自我在 Google Sheets 中管理各种测试的方式,将整个 JSON 主体放在自己的单元格中,然后可以轻松导出为 CSV 文件。
问题是我不断遇到“格式错误”类型错误。我认为问题在于,当它把它作为 CSV“值”时,它会奇怪地输入数据,这就是它不起作用的原因。
“有问题的”输入示例,即从 CSV 文件中获取的值(通过断点捕获):
'{"post":2027,"name":"Test User","email":"email@mail.com","body":"lorem ipsum4"}'
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多事情。这就是我现在所处的位置。下面是一些示例数据和更多解释。
代码:
from os import read
import requests
import csv
import json
filename = 'file.csv'
url = "https://gorest.co.in/public/v1/posts/[id]/comments"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer tricked ya"
}
with open(filename) as cF:
reader = csv.reader(cF)
for idx,row in enumerate(reader):
for col in row:
print("Body: ", col)
r = requests.request("POST", url, headers = headers, json = col)
print("Status: …Run Code Online (Sandbox Code Playgroud)