Saya perlu menulis beberapa URL ke dalam file JSON. Inilah yang telah saya lakukan sejauh ini;

 for index, document in enumerate(master_data):

            # create a dictionary for each document in the master list
            document_dict = {}
            document_dict['cik_number'] = document[0]
            document_dict['company_name'] = document[1]
            document_dict['form_id'] = document[2]
            document_dict['date'] = document[3]
            document_dict['file_url'] = document[4]

            master_data[index] = document_dict

 for document_dict in master_data:

        # if it's a 10-K document pull the url and the name.
        if document_dict['form_id'] == '10-K':

            # get the components
            data = {}
            data['company name'] = document_dict['company_name']
            data['cik_number'] = document_dict['cik_number']
            data['form_id'] = document_dict['form_id']
            data['date'] = document_dict['date']
            data['file_url'] = document_dict['file_url']

            write(data, JSON_file_to_write)
            JSON_file_to_write.write('\n')

Dan inilah yang saya dapatkan pada akhirnya;

{"company name": "ZERO CORP", "cik_number": "109284", "form_id": "10-K", "date": "19940629", "file_url": "https://www.sec.gov/Archives/data/109284/0000898430-94-000468.txt"}
{"company name": "FOREST LABORATORIES INC", "cik_number": "109563", "form_id": "10-K", "date": "19940628", "file_url": "https://www.sec.gov/Archives/data/38074/0000038074-94-000021.txt"}
{"company name": "GOULDS PUMPS INC", "cik_number": "14637", "form_id": "10-K", "date": "19940331", "file_url": "https://www.sec.gov/Archives/data/42791/0000042791-94-000002.txt"}
{"company name": "GENERAL HOST CORP", "cik_number": "275605", "form_id": "10-Q", "date": "19940701", "file_url": "https://www.sec.gov/Archives/data/40638/0000950124-94-001209.txt"}

Tetapi sebagai pemahaman saya, saya telah membuat file teks yang berisi file JSON. Tetapi saya perlu membuat satu file JSON sehingga saya dapat mengulangi file_url itu dan mengunduhnya ke dalam folder.

Saya benar-benar baru dalam Python dan JSON dan pengkodean sebenarnya, dan saya agak mencoba menyelesaikan tugas untuk proyek Capstone saya, jadi tolong jangan kasar jika saya mengajukan pertanyaan saya dalam format yang salah dan tolong tunjukkan saya cara yang benar sehingga saya bisa belajar dan berkomunikasi lebih baik dengan semua orang di portal ini.

1
erikci 18 April 2020, 00:20

1 menjawab

Jawaban Terbaik

Anda ingin menambahkannya ke daftar alih-alih langsung menulis ke file. Kemudian Anda mengonversi daftar dicts Anda ke objek JSON dan menulisnya ke file.

import json

jsonList = []
for document_dict in master_data:

    # if it's a 10-K document pull the url and the name.
    if document_dict['form_id'] == '10-K':
        # get the components
        data = {}
        data['company name'] = document_dict['company_name']
        data['cik_number'] = document_dict['cik_number']
        data['form_id'] = document_dict['form_id']
        data['date'] = document_dict['date']
        data['file_url'] = document_dict['file_url']
        jsonList.append(data)

with open('filename.txt', 'w') as the_file: #change w to a if you want to append
    the_file.write(json.dumps(jsonList))
0
Sri 17 April 2020, 21:25