Как получить значения в одной строке списка без разделения запятыми в CSV-файле с помощью Python? - PullRequest
1 голос
/ 17 октября 2019

Я сохранил поле ввода, в котором я могу просматривать и выбирать файл CSV, декодировать файл и передавать значения в соответствующие поля. Проблема, которую я получаю сейчас, заключается в значениях типа

['hello','"hello', 'world"']

Значения ячеек в файле CSV будут выглядеть следующим образом:

col1  col2    col3
hello world hello,world

Код, который я пробовал:

import base64
file_value = self.file_import.decode("utf-8")
            filename, FileExtension = os.path.splitext(self.filename)
            input_file = base64.b64decode(file_value)
            lst = []
            for loop in input_file.decode("utf-8").split("\n"):
                l = loop.replace(u'\ufeff', '')
                vals = l.replace('\r', '')
                lst.append([vals])

            #  Deletes the heading of the csv file
            lst.pop(0)

            for res in lst:
                if res[0]:
                    output = res[0].split(',')
                    print(output)

Вывод:

['hello','"hello', 'world"']

Но я хочу как:

['hello','"hello,world"']

1 Ответ

1 голос
/ 25 октября 2019

Если вы работаете с CSV в Python, то вы должны использовать библиотеку CSV, импортируя ее так же, как импортировали base64.

Но если вы ограничены в том, чтобы не использовать CSV, есть другое решение. value = value.replace('"', '') и value = value.replace(''', '')

Но это не лучший вариант. Лучше использовать модуль CSV

...