преобразовать список в целое число и сохранить его в CSV-файле с помощью Python - PullRequest
2 голосов
/ 03 октября 2019

У меня есть некоторые данные, сгенерированные в списке. Я создал CSV-файл, и он добавляет данные в CSV-файл. Но мне нужно хранить данные в виде целого числа / строки, а не в виде списка. Мой код ниже:

VALUE = list(map(int, VALUE))
print(name, VALUE)
with open("data.csv", "a") as out_file:
        out_string =  ""
        out_string +=  "" + name
        out_string +=  "," + str(VALUE)
        out_string += "\n"
        out_file.write(out_string)

Выходной файл: enter image description here

Мне нужно удалить [ и ], сгенерированные в столбце 2и 17. Я не уверен, как это сделать.

Ответы [ 3 ]

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

Когда VALUE (почему верхний регистр, это не константа?) Это list с двумя элементами типа int и значениями 153 и 42, str(VALUE) будет [153,42]. Если вы хотите, чтобы вывод был 153,42, вы можете использовать ','.join(VALUE), который объединит элементы списка, разделенные str, для которого вы вызываете метод join, в данном случае запятую.

Однако при написании файлов .csv вы также можете рассмотреть возможность использования модуля csv из стандартной библиотеки Python.

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

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

>>> x = [1,2,3]
>>> print(str(x))
[1, 2, 3]
>>>

Квадратные скобки - это способ Python для печати массива. Чтобы напечатать их как строки CSV, преобразуйте элементы в строки и соедините их запятой:

out_string +=  "," + ",".join([str(i) for i in VALUE])
0 голосов
/ 03 октября 2019

Тип данных вашего out_string является списком в вашем случае, и он дает вам список списка. Для преобразования вы можете использовать join , который преобразует тип данных в str и объединяет элементы списка в вашем случае его ", ".

VALUE = list(map(int, VALUE))
print(name, VALUE)
with open("data.csv", "a") as out_file:
    out_string =  ""
    out_string +=  "" + name
    out_string +=  ",".join(VALUE)
    out_string += "\n"
    out_file.write(out_string)`

Я думаю,теперь он даст вам желаемый результат.

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