是否将刮取的数据保存为CSV文件?

2024-03-29 08:03:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从包含JSON数据的链接中获取数据,代码如下:

    import requests
    import json

    parameters = ['a:1','a:2','a:3','a:4','a:3','a:4','a:5','a:6','a:7','a:8','a:9','a:10',]

    for item in parameters:
        key, value = item.split(':')[0], item.split(':')[1]
        url = "https://xxxx.000webhostapp.com/getNamesEnc02Motasel2.php?keyword=%s&type=2&limit=%s" %(key, value)
        r = requests.get(url)
        cont = json.loads(r.content)
        print(cont)

输出结果如下

[{'name': 'Absz', 'phone': '66343212'}, {'name': 'ddd ', 'phone': '545432211'}, {'name': 'ezd' 'phone':'54856886'}]

我想将所有数据存储在CSV文件中。你知道吗

我该怎么做?你知道吗

另外,正如您所见,我使用parameters list来处理多个请求,但我认为有一种方法可以从1 to 200循环limit参数,而不必在parameters中键入每个关键字和数字。你知道吗

提前谢谢。你知道吗


Tags: 数据keynameimportjsonurlvaluephone
2条回答
import requests
import json
import pandas as pd

parameters = ['a:1','a:2','a:3','a:4','a:3','a:4','a:5','a:6','a:7','a:8','a:9','a:10']

results = pd.DataFrame()
for item in parameters:
    key, value = item.split(':')
    url = "https://xxxx.000webhostapp.com/getNamesEnc02Motasel2.php?keyword=%s&type=2&limit=%s" %(key, value)
    r = requests.get(url)
    cont = json.loads(r.content)
    temp_df = pd.DataFrame(cont)
    results = results.append(temp_df)

results.to_csv('path/to/filename.csv', index=False)

请尝试以下代码,它将按行创建csv:

import csv
import json

header = ["name","phone"]

for item in range(1,200): 
    key, value = 'a', item # Generating key and value from range 1  > 200
    url = "https://xxxx.000webhostapp.com/getNamesEnc02Motasel2.php?keyword=%s&type=2&limit=%s" %(key, value)
    r = requests.get(url)
    cont = json.loads(r.content)
    print(cont)



with open('people.csv', 'a') as writeFile:
    writer = csv.writer(writeFile)
    writer.writerow(header)
    for a_row in cont:
        writer.writerow([a_row["name"],a_row["phone"]]) # To write name and phone

希望这能回答你的问题!!

相关问题 更多 >