Я создаю скребок для твиттера в python, который я хотел бы очистить домашнюю временную шкалу и создать читаемый CSV-файл с идентификатором твита, создателем твита, временной меткой и контентом твита.Твиты часто содержат запятые (разделитель, который я использую), что не является проблемой, когда столбец содержимого твита заключен в одинарные кавычки (цитата, которую я использую).Тем не менее, из-за ограничений API Twitter, некоторые твиты содержат одинарные кавычки и запятые, что приводит к тому, что читатель CSV воспринимает запятые в твитах как разделители.
Я пытался использовать регулярные выражения для удаления или замены одинарных кавычек внутри фактических символов в кавычках, которые я хотел бы сохранить, но я не нашел способа сделать это.
Вот как выглядит tweets.txt:
ID,Creator,Timestamp,Tweet
1112783967302844417,twitteruser,Mon Apr 01 18:29:06 +0000 2019,'At Adobe's summit, 'experience' was everywhere'
Вот мой скрипт на python:
import csv
with open ('tweets.txt','r') as csv_file:
csv_reader = csv.reader(csv_file, delimiter = ',', quotechar="'")
for line in csv_reader:
print(line)
Я хотел бы получить вывод, подобный этому:
['ID', 'Creator', 'Timestamp', 'Tweet']
['1112783967302844417', 'twitteruser', 'Mon Apr 01 18:29:06 +0000 2019', 'At Adobe^s summit, ^experience^ was everywhere']
Но в настоящее время тот факт, что содержимое твита содержит одинарные кавычки, делает его таким, что программа чтения CSV распознает запятые как разделители и выдает следующее:
['ID', 'Creator', 'Timestamp', 'Tweet']
['1112783967302844417', 'twitteruser', 'Mon Apr 01 18:29:06 +0000 2019', 'At Adobes summit', " 'experience' was everywhere'"]