Попытка сохранить данные pytchat в CSV

#python #pandas

Вопрос:

Я пытаюсь сохранить данные, которые я собираю, используя этот код pytchat, который собирает живые комментарии на YouTube. Однако, как новичок в python, я изо всех сил пытаюсь сохранить его в csv. Любые мысли приветствуются!

 import pytchat
import time
import csv
import pandas as pd

chat = pytchat.create(video_id="uIx8l2xlYVY")
while chat.is_alive():
    print(chat.get().json())
    time.sleep(5)

pd.DataFrame(chat).to_csv('out.csv', index=False)
 

Ответ №1:

Попробуйте это:

 import pytchat
import time
import csv
import pandas as pd
from io import StringIO

chat = pytchat.create(video_id="uIx8l2xlYVY")
jstring = chat.get().json()
df = pd.read_json(StringIO(jstring))
 

Выход:

                                               author         type  
0  {'badgeUrl': '', 'type': '', 'isVerified': Fal...  textMessage   
1  {'badgeUrl': '', 'type': '', 'isVerified': Fal...  textMessage   
2  {'badgeUrl': '', 'type': '', 'isVerified': Fal...  textMessage   
3  {'badgeUrl': '', 'type': '', 'isVerified': Fal...  textMessage   
4  {'badgeUrl': '', 'type': '', 'isVerified': Fal...  textMessage   

                                                  id               timestamp  
0  CjkKGkNNeV9rZGY0anV3Q0ZjTkI3UW9kS1NrRV9REhtDSX... 2020-09-29 17:59:21.372   
1  CjkKGkNJTGI5OXI0anV3Q0ZaV3BEUW9kalFjTER3EhtDSm... 2020-09-29 17:59:29.338   
2  CjkKGkNOYjY3Tjc0anV3Q0ZaaVBnZ29kU044SXNnEhtDS0... 2020-09-29 17:59:37.551   
3  CkUKGkNQVzFpLVA0anV3Q0ZaV2ZnZ29kRkhnRG9BEidDTG... 2020-09-29 17:59:46.438   
4  CkUKGkNObTdndkw0anV3Q0ZaV3ZEUW9keE93QW9BEidDTy... 2020-09-29 18:00:17.749   

  elapsedTime            datetime  message  messageEx  amountValue  
0       -0:25 2020-09-29 12:59:21       gi       [gi]            0   
1       -0:17 2020-09-29 12:59:29       hi       [hi]            0   
2       -0:09 2020-09-29 12:59:37       hi       [hi]            0   
3       -0:00 2020-09-29 12:59:46     bora     [bora]            0   
4        0:17 2020-09-29 13:00:17  Hi ciao  [Hi ciao]            0   

  amountString currency  bgColor  
0                              0  
1                              0  
2                              0  
3                              0  
4                              0