Как удалить или игнорировать управляющий символ \ r или "" из ячеек в таблице Excel? - PullRequest
0 голосов
/ 14 февраля 2019

Я читаю данные файла CSV и преобразую их в словарь, но данные в словаре идут с \ r, как 69 \ r, 79 \ r в замазке, или когда я открываю файл, он приходит как "69" иэти двойные кавычки скрыты.Как их убрать?

Я пробовал много способов от переполнения стека, но не получилось.Я попытался read.splitLines () или заменить метод, но проблема в том, что, если я удаляю \ r, он удалит все данные после 1-й строки, но в Excel есть много данных.

Есть ли другиеспособ, которым мы можем игнорировать управляющие символы и получать все данные в excel или putty.Пожалуйста помоги!!!!!

Ниже приведен код:

def fileToDict(filepath):
    dataInDict = {}
    with open(filepath) as f:
        data = f.readlines()
        for idx, d in enumerate(data):
            dlist = d.strip('\n').split('\t')
            dataInDict[idx] = dlist
        f.close()
    return dataInDict 

Добавление более подробной информации здесь ... Я использую эту функцию для преобразования всех данных из 2 файлов в 2 словаря, используя

Dict1 =  fileToDict(file1)  
Dict2 =  fileToDict(file2) 

Теперь, когда я сравниваю данные между двумя словарями и печатаю dataInDict, используя вышеуказанную функцию, он дает мне вывод с данными из обоих словарей, как показано ниже.Я выделил значения \ r и без значений \ r. введите описание изображения здесь

но когда я пытаюсь удалить \ r из этого, это дает мне только 1-ю строку и не все строки.Из-за этого \ r сравнение не удается

Я пишу приведенный выше вывод в лист Excel, используя xlsWriter

1 Ответ

0 голосов
/ 14 февраля 2019

Есть несколько способов решить эту проблему.

Вы можете использовать метод .strip в цикле for.

Предположим, у вас есть этот код:

mydict = {'one': '69\r', 'two': '79\r'}

Вы можете перебирать его и заменять каждое значение в каждом ключе сокращенной версией самого себя:

for i in mydict:
    mydict[i] = mydict[i].strip('\r')

Вывод:

{'one': '69', 'two': '79'}

РЕДАКТИРОВАНИЕ

Поскольку автор добавил фрагмент кода:

def fileToDict(filepath):
    dataInDict = {}
    with open(filepath) as f:
        data = f.readlines()
        for idx, d in enumerate(data):
            dlist = d.strip('\n').split('\t')
            dataInDict[idx] = dlist
        f.close()
    for i in dataInDict:                           # Iterate through your new dict
        dataInDict[i] = dataInDict[i].strip('\r')  # Strip each value after occurance of '\r'
    return dataInDict 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...