#python #csv
#python #csv
Вопрос:
Я пытаюсь обработать данные (удалить hastag, link и @) из файлов CSV и сохранить их обратно в CSV. однако вывод выполняется некорректно. он разделяется запятой для каждого символа. Кто-нибудь может помочь мне записать его в csv лучшим способом. Спасибо
import re,string
import csv
def strip_links(text):
link_regex = re.compile('((https?):((//)|(\\)) ([wd:#@%/;$()~_? -=\.amp;](#!)?)*)', re.DOTALL)
links = re.findall(link_regex, text)
for link in links:
text = text.replace(link[0], ', ')
return text
def strip_all_entities(text):
entity_prefixes = ['@','#']
for separator in string.punctuation:
if separator not in entity_prefixes :
text = text.replace(separator,' ')
words = []
for word in text.split():
word = word.strip()
if word:
if word[0] not in entity_prefixes:
words.append(word)
return ' '.join(words)
f = open('Test.csv')
csf_f = csv.reader(f)
temp =[]
for row in csf_f:
temp.append(row[0])
temp1 = []
for t in temp:
temp1.append(strip_all_entities(strip_links(t)))
for i in range(0, len(temp1)):
with open('MYOUTPUT.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(temp1)
f.close()
Комментарии:
1. Знаете ли вы полную форму csv?
2. ДА. он состоит из текста в 6 строк. Я использовал образец данных и назвал его Test.csv
3. посмотрите, разделением по умолчанию в CSV является запятая, CSV означает «Все отдельные файлы »
4. извините, я вижу это из Excel, так что, похоже, есть 6 строк
5. Вы можете открыть файл csv с помощью Excel или любой программы для работы с электронными таблицами, и он должен загрузиться должным образом. Если это не так, скажите мне.