Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 31, 2017 23:34:51

Antonpython
Зарегистрирован: 2017-02-14
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в csv последовательно в разные колонки

Добрый вечер, есть код

import csv

with open('names.csv', 'w') as csvfile:
fieldnames = ['first_name', 'last_name']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

writer.writeheader()
writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})

Записывает все в одну колонку
Но нужно, чтобы записывалось: в колонке A имеется first_name и значения ниже
В колонке B last_name и значения ниже…

Подскажите, пожалуйста, как этого достичь??????

Офлайн

#2 Авг. 31, 2017 23:39:04

Stright
От: Кострома
Зарегистрирован: 2015-01-20
Сообщения: 139
Репутация: +  16  -
Профиль   Отправить e-mail  

Запись в csv последовательно в разные колонки

У вас все правильно записывается, вы записываете в csv файл, колонки разделяются запятыми

Офлайн

#3 Сен. 1, 2017 01:12:48

Antonpython
Зарегистрирован: 2017-02-14
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в csv последовательно в разные колонки

А подскажите, пожалуйста, как можно было бы этот же пример записать раздельно по колонкам?
Хочу в Excel открывать, чтобы все было разнесено

А то в Libre открываю, делаю определенные действия и этот редактор разносит по столбцам
А я хочу, чтобы в Excel открываешь - а там уже все готово…
Как это сделать, подскажите, пожалуйста… если это возможно, конечно

Отредактировано Antonpython (Сен. 1, 2017 01:30:45)

Офлайн

#4 Сен. 1, 2017 07:32:51

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Запись в csv последовательно в разные колонки

Antonpython
Как это сделать, подскажите, пожалуйста… если это возможно, конечно
Вы не указали версию exel. Для разных версий будет по разному. Поэтому общего способа не существует, по крайней мере я не знаю документа специфицирующего MS_CSV от микрософта .
:):):):):):):):):):):)

Пролог

А зачем вам вообще надо в табличном процессоре открывать? Что вы в нем будете делать? Может вам текстового редактора достаточно?

Если Либра открывает на кой ляд вам еще и эксел? У нас когда встала задача просмотра здоровых таблиц и их фильтрации по колонкам то было написано простейшее GUI приложение которое показывает таблицу. Оно на два порядка быстрее открывает большие таблицы.

Мысль проста, перед тем как начинать бодягу попробуйте сделать так чтобы вам не хотелось записать данные в exel, Если решитесь идти дальше то вы добьетесь своего, но в конце пути вам уже не будет хотеться записывать данные в exel….

Простой путь но не универсальный путь.

Добейтесь ручками чтобы у вас открывался csv файл. Скорее всего разделители нужны табуляции ‘\t’.
Не забываем писать файл в cp1251.
Если не получится посмотрите
https://habrahabr.ru/company/mailru/blog/129476/

Более надежный путь.

Можно записывать сразу xls/xlsx Для этого существуют разные пакеты, но у вас импорт таблицы и запись в xlsx Поэтому можно использовать pandas
http://pandas.pydata.org/
https://habrahabr.ru/post/196980/
Но этот путь очень опасен. Все люди которым я по началу посоветовал использовать pandas для загрузки данных в exel освоили psndas но данные в exel так и не проэкспортировали. Объясняют это тем что отпала такая необходимость. Другие форматы csv, hdf5 гораздо удобнее, а pandas для преобразования данных гораздо удобнее exel.









Офлайн

#5 Сен. 1, 2017 11:06:43

Antonpython
Зарегистрирован: 2017-02-14
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в csv последовательно в разные колонки

Спасибо!!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version