Невозможно разделить текстовые данные в csv. (Разделите текст с помощью @, чтобы он стал двумя столбцами)

#python-3.x #pandas #dataframe #csv #delimiter

#python-3.x #панды #фрейм данных #csv #разделитель

Вопрос:

По словам Грана, компания не планирует переносить все производство в Россию, хотя именно там компания растет .@нейтральный

Выше приведен текст, и я хочу разделить его с помощью @, чтобы он создавал два столбца

 data = pd.read_csv(r'F:Sentences_50Agree.csv', sep='@', header=None)
  

Я пробовал выше, но это не работает. Отображается только 1 столбец с общим текстом, включая @neutral

Комментарии:

1. Не удается воспроизвести, если я создаю файл с приведенным выше предложением, запуская ваш код, я получаю фрейм данных с 2 столбцами.

2. не могли бы вы опубликовать код? Это было бы полезно

3. Я опубликовал код, который использовал.

Ответ №1:

 import pandas as pd
from io import StringIO


s = 'According to Gran, the company has no plans to move all production to Russia, although that is where the company is growing .@neutral'
print( pd.read_csv(StringIO(s), sep='@', header=None) )
  

С принтами:

                                                    0        1
0  According to Gran, the company has no plans to...  neutral
  

Или с помощью file:

 print( pd.read_csv('file.txt', sep='@', header=None) )
  

Комментарии:

1. Но как это сделать для всего фрейма данных?? Существует 1000 строк, содержащих такой текст.

2. @NithinReddy Я не понимаю. Что вы подразумеваете под «общим фреймом данных»?

3. Последний работает, и лучше добавить параметр ‘encoding =»ISO-8859-1″‘