Запись списков разного размера в csv в столбцах в Python
Мне нужно написать списки, которые различаются по длине CSV-файлу в столбцах.
В настоящее время у меня есть:
- AttributeError: модуль 'pandas' не имеет атрибута 'to_csv'
- как загрузить и прочитать файл csv в django с помощью csv.DictReader?
- Python CSV read-> write; удалить и заменить PLUS: конец строки - формат JSON
- Python Pandas Ошибка для токенизации данных
- Как создать файл CSV из базы данных в Python?
d=lists writer = csv.writer(fl) for values in zip(*d): writer.writerow(values)
который работает только частично. Я подозреваю, что это происходит, так это то, что он перестает зажиматься до списков со списком самой короткой длины.
- pandas parse csv с левыми и правыми символами цитат
- конвертировать csv в netcdf
- Суммируйте столбец csv в python
- Как написать скребковый контент в файл CSV?
- чтение csv-файлов в scipy / numpy в Python
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: исправленный пример
- Только первый символ строк unicode, записываемых в csv
- Python Pandas - возвращает результаты функции groupby обратно в родительскую таблицу
- читать csv-файл и возвращать data.frame в Python
- Данные контура (lat, lon, value) в границах и экспорт GeoJSON
- Необходимо создать кадр данных Pandas, прочитав csv-файл со случайными столбцами
- Как избежать Python / Pandas, создающего индекс в сохраненном csv?
- Как сортировать данные в алфавитном порядке в файле csv, созданном в python?
- Как сжать файл csv в zip-архив напрямую?
- Python: «вставить» несколько (неизвестных) csvs вместе
- Python - печатать список строк CSV в выровненных столбцах
- Как вводить большие данные в python pandas с использованием циклов или параллельных вычислений?
- Как эффективно обрабатывать европейские десятичные разделители с помощью функции pandas read_csv?