Запись списков разного размера в csv в столбцах в Python

Мне нужно написать списки, которые различаются по длине CSV-файлу в столбцах.

В настоящее время у меня есть:

d=lists writer = csv.writer(fl) for values in zip(*d): writer.writerow(values) 

который работает только частично. Я подозреваю, что это происходит, так это то, что он перестает зажиматься до списков со списком самой короткой длины.

2 Solutions collect form web for “Запись списков разного размера в csv в столбцах в Python”

Код ниже для Python 3. Если вы используете Python 2, импортируйте izip_longest вместо zip_longest.

 import csv from itertools import zip_longest d = [[2,3,4,8],[5,6]] with open("file.csv","w+") as f: writer = csv.writer(f) for values in zip_longest(*d): writer.writerow(values) 

Результат:

 2,5 3,6 4, 8, 

Нет никакого «аккуратного» способа написать его, поскольку, как вы сказали, zip усекает до длины самого короткого итерабельного.

Вероятно, самым простым способом было бы просто поместить с None или пустые строки (не зная, что поведение writow имеет значения None):

 maxlen = max([len(member) for member in d]) [member.extend([""] * (maxlen - len(member))) for member in d] for values in zip(*d): ... 

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

EDIT: исправленный пример

  • Чтение csv в массив, выполнение линейной регрессии по массиву и запись в csv в Python в зависимости от градиента
  • Чтение .csv в Python без прокрутки всего файла?
  • Разбор простого текстового файла в CSV-файл с использованием Python
  • более быстрая загрузка csv с индексом datetime pandas
  • Чтение строк из файла CSV в Python
  • Дамп массива NumPy в файл csv
  • .csv между каждой буквой на выходе
  • Только первый символ строк unicode, записываемых в csv
  •  
    Interesting Posts for Van-Lav

    Чтение аудиоданных в реальном времени в массив numpy

    os.listdir и т. д. обходит общий путь к Windows (Python 2.5)

    Python / Oracle / cx_Oracle с поправкой на год = 0

    Python: слияние словаря путем обновления, но не перезаписи, если существует значение

    Попытка понять процедуру связывания для написания гибрида Python / C ++

    Использование существующей базы данных в Django

    Поиск совпадающих подматриц внутри матрицы

    Python matplotlib изменяет цвет по умолчанию для значений, превышающих диапазон цветовых штрихов

    Обработка верхних треугольных элементов только с помощью NumPy einsum

    Невозможно исправить движение мяча в пиг-понг

    Как я могу нарисовать кривую Безье с помощью PIL Python?

    Возможно ли в OpenCV построить локальную кривизну в виде тепловой карты, представляющей «интересность» объекта?

    Лучший способ анализа строки запроса URL

    Использование Nose & NoseXUnit в пакете Python

    Список чередования с фиксированным элементом

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