Как предотвратить многократное добавление записей в ячейку в Python CSV? - PullRequest
0 голосов
/ 10 ноября 2019

Я работал над извлечением данных из твиттера, где я хочу извлечь определенные поля твита в csv, где одна строка представляет твит;твит и текст твита. Все работает нормально, пока я не добавил текст твита в CSV, где внезапно несколько твитов вставляются в текстовую ячейку твита.

Я распечатал твит, счетчик и текст, и он прекрасно распечатал до 12000 записей в строке.

Однако в файле CSV яиз-за этой проблемы пропущено 200 записей. Я добавил счетчик, чтобы идентифицировать и отслеживать, где я потерял 200 записей. Я застрял на несколько часов. Может кто-нибудь помочь мне определить, что не так?

Вот скриншот моей рабочей CSV: enter image description here

Этопроблема: enter image description here

Вот мой код:

      with client:
         with open('data.csv', 'w', newline='', encoding='utf-8', errors='ignore') as file:
            fw = csv.writer(file, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
            fw.writerow(['CollectionId', 'Counter', 'Text'])
            print('starting to append data to csv...')
            counter = 0
            print('appending Streaming data...')
            for stream in Streaming:
                streamTime = stream["created_at"]
                parseTime = dateutil.parser.parse(streamTime)

                # CollectionId
                if stream["id_str"]:
                    collectionId = "'" + stream["id_str"] + "'"
                    counter = counter + 1

                    # cleanup text -  to display in a single line
                    streamText = stream["text"]
                    streamText = streamText.split('\n') #remove new lines in text 
                    streamText = " ".join(streamText)
                    streamText = streamText.replace(',', ' ') #replace commas in text
                    #print("{}, {} - {}".format(collectionId, counter, streamText))
            fw.writerow([collectionId, counter, streamText])
        print("Streaming Data has been exported to 'data.csv'")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...