Я работал над извлечением данных из твиттера, где я хочу извлечь определенные поля твита в csv, где одна строка представляет твит;твит и текст твита. Все работает нормально, пока я не добавил текст твита в CSV, где внезапно несколько твитов вставляются в текстовую ячейку твита.
Я распечатал твит, счетчик и текст, и он прекрасно распечатал до 12000 записей в строке.
Однако в файле CSV яиз-за этой проблемы пропущено 200 записей. Я добавил счетчик, чтобы идентифицировать и отслеживать, где я потерял 200 записей. Я застрял на несколько часов. Может кто-нибудь помочь мне определить, что не так?
Вот скриншот моей рабочей CSV:
Этопроблема:
Вот мой код:
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'")