Python: как отделить строку запятой

Я импортирую список csv в python через «fh». Он читает его по строкам и создает список элементов каждой строки. Теперь я хочу, чтобы каждый элемент списка был отделен (он имеет запятые) и помещается в новый список.

Теперь я получаю: y = ['1,2,3']

я хочу: y = ['1', '2', '3']

код у меня есть сейчас:

fh = open( "F:\S57To Buoy\ScheldeAdjustedPoints.csv" ); x = [] for line in fh.readlines(): y = [value for value in line.split()] print y paramBlock = mgGetParamBlock ("Vertex from mouse") mgParamSetDouble3 (paramBlock, "Vertex Position", y[0], y[1], y[2] ) mgExecute ("Vertex from mouse", paramBlock) fh.close() 

Парамблоки и т. Д. – это специальные вызовы программ, поэтому не беспокойтесь о них.

Я искал, но не нашел ничего полезного. И я не могу использовать модуль CSV btw. Благодаря!

4 Solutions collect form web for “Python: как отделить строку запятой”

Проблема в этой строке:

 y = [value for value in line.split()] 

Прежде всего, операция совершенно не нужна, результат будет таким же, как здесь:

 y = line.split() 

Но вам действительно нужно:

 y = line.strip().split(",") 

(строка из файла заканчивается на «\ n», поэтому ее разбиение возвращает список с двумя элементами: содержимое строки и пустое).

вызов readlines() уже создает список каждой строки, составляющей файл. теперь вам нужно только разделить каждую строку в соответствии с разделителем (в данном случае ',' ). вы уже вызываете split() , просто укажите разделитель:

 y = [value for value in line.split(',')] 

теперь, если вы посмотрите на документацию для split() , вы увидите, что она уже генерирует список, поэтому вам не нужно идти по результату и использовать выражение генератора. ваш код будет:

 y = line.split(',') 

в случае, если в начале и конце строки есть мусор, вам может понадобиться strip() строка:

 y = line.strip().split(',') 

на стороне примечания: если вы не работаете с файлом в другом месте вашего кода, вам не нужно открывать файл, а затем закрывать его. вы можете открыть его непосредственно в цикле for, сборщик мусора позаботится о том, чтобы освободить дескриптор файла и закрыть файл, когда цикл завершается. Кроме того, чтение файла в цикле for будет проходить через каждую строку файла.

 for line in open( "F:\S57To Buoy\ScheldeAdjustedPoints.csv" ): y = line.strip().split(',') print y 

(итерация через каждую строку может быть недоступна, если вы используете какую-то старую версию python.Я думаю, что она была добавлена ​​в python, начиная с 2.4)

Используйте модуль csv :

 import csv with open(r'F:\S57To Buoy\ScheldeAdjustedPoints.csv', 'r') as f: reader = csv.reader(f,delimiter=',') for row in reader: print row 

Если вы говорите, что не можете использовать csv , используйте следующую версию своего кода:

 with open(r"F:\S57To Buoy\ScheldeAdjustedPoints.csv") as f: for line in f: if line.strip(): x = line.split(',') # do stuff with x 

Я все время это делаю. это мой код:

 with open(CSV, "r") as CSV_read: next(CSV_read) # removes header (remove this line if there is no header) for line in CSV_read: vals = line.strip("\r\n").split(",") 
  • Python присваивает нескольким переменным одинаковое значение? поведение списка
  • Невозможно изменить списки в Python, получив «Nonetype» в списке
  • Добавление в 2D-списки в Python
  • Что касается списка python со ссылкой
  • Нарезка списка и группы
  • Проверка наличия списка списков с одинаковыми размерами
  • Определите дубликаты в списке списков и суммируйте их последние позиции
  • Заполнение списка / массива индексом в Python?
  •  
    Interesting Posts for Van-Lav

    Django – Получить модель ContentType по названию модели (общие отношения)

    Интеграция не увенчалась успехом в Python QuTiP

    Сортировка списка на основе значений словаря в python?

    Быстро вычислить собственные векторы для каждого элемента массива в python

    Получить текущий URL-адрес в Python

    Часто внутренняя ошибка http 500 с API-интерфейсом google drive.files.get

    Почему установки python.org OS X построены с помощью gcc-4.0?

    Панды: разница между точкой поворота и поворотным столом. Почему работает только pivot_table?

    dateutil.parser.parse () дает ошибку «initial_value должен быть unicode или None, а не str» на платформе Windows

    Python – чтение csv и группировка данных по столбцу

    python: удалить все строки в dataframe pandas, содержащие строку

    Как вызвать действие при нажатии кнопки в Tkinter

    Чтение / запись текстового файла

    Отслеживание белого цвета с использованием python opencv

    Инструмент для точного определения кругового импорта в Python / Django?

    Python - лучший язык программирования в мире.