Mengambil Data Participants dengan python Citric
Saya belum ada waktu menerangkan panjang lebar.
Saya menggunakan bantuan dokumentasi dan jsoneditoronline buat membantu ekstraksi json.
Sementara skrip ini dulu aja buat catatan:
from citric import Client
import pandas as pd
survey_id = 452848
client = Client(
'http://limesurvey6.test/index.php/admin/remotecontrol',
'admin',
'password'
)
participants = client.list_participants(survey_id, start=0, limit=5, unused=True, attributes= False, conditions=None)
print(participants)
Hasilnya sbb:

Namun apabila kita ingin mengambil attributes lain, caranya sbb:
participants = client.list_participants(survey_id, start=0, limit=5, unused=True, attributes= ["completed", "usesleft", "attribute_1"], conditions=None)
Dan hasilnya sbb:

Sekarang tinggal ekstrak pilih attribute yang mana.
Berikut jika kita ingin memasukkannya ke DataFrame:
from citric import Client
import pandas as pd
# Connect to your LimeSurvey instance
survey_id = 452848
client = Client(
"http://limesurvey6.test/admin/remotecontrol",
'admin',
'password'
)
participants = client.list_participants(survey_id, start=0, limit=5, unused=True, attributes= ["completed", "usesleft", "attribute_1"], conditions=None)
# karena participant mengandung sub array, maka kita harus emmbuatnya ke dalam array 2 2 dimensi agar bisa dimasukkan ke DataFrame
res = []
for field in participants:
res.append({'tid':field['tid'],
'attribute_1':field['attribute_1'],
'firstname':field['participant_info']['firstname']
})
df = pd.DataFrame(res)
# setelah itu bisa di print di export ke excel maupun ke sqlite
print(df)
Menurut saya method ini kurang asik. Mestinya ada cara ambil all fields in participants. Atau apa saya yang kurang ngerti caranya?

