Как удалить символ новой строки в столбцах панелей данных? - PullRequest
0 голосов
/ 04 апреля 2019

Я хочу сократить и очистить файл CSV, чтобы использовать его в ElasticSearch.но в некоторых Dataframes (ячейках) есть разрывы строк, и невозможно проанализировать CSV-файл в ElasticSearch.Теперь я сокращаю CSV с помощью панд и пытался удалить символ новой строки, но он не работает.

Код следующий:

import pandas as pd

f=pd.read_csv("test.csv")

keep_col = ["Plugin ID","CVE","CVSS","Risk","Host","Protocol","Port","Name","Synopsis","Description","Solution",]

new_f = f[keep_col].replace('\\n',' ', regex=True)
new_f.to_csv("newFile.csv", index=False)

недостаток работает, но у меня есть новые строки в описании, Краткий обзор и решения.Любая идея, как решить это с Python / Pandas?CSV имеет около 100 тыс. Записей, поэтому удаление строк должно выполняться в каждой записи.

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

Если использование фрейма данных pandas не является обязательным, вы можете сделать это следующим образом, используя простой python:

with open('test.csv', 'r') as txtReader:
    with open('new_test.csv', 'w') as txtWriter:
        for line in txtReader.readlines():
            line = line.replace('\\n', '')
            txtWriter.write(line)
0 голосов
/ 04 апреля 2019

Из того, что я узнал, третий параметр для параметра .replace () берет количество раз, которое вы хотите заменить старую подстроку новой подстрокой, поэтому вместо этого просто удалите третий параметр, так как вы неНе знаю, сколько раз новая строка существует.

new_f = f[keep_col].replace('\\n',' ')

Это должно помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...