Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python. Пустые строки / 10 сообщений из 10, страница 1 из 1
14.10.2019, 14:12
    #39875986
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python. Пустые строки
Здравствуйте!

Есть код, который создает csv-файл с данными.
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
import csv
data = [
    {'name': 'Иванов', 'rating': '1'},
    {'name': 'Петров', 'rating': '2'},
    {'name': 'Сидоров', 'rating': '3'},
]
with open('data.csv', 'wt') as ContextManager:
    out = csv.DictWriter(ContextManager, ['name', 'rating'])
    out.writeheader()
    out.writerows(data)

В результате создается csv-файл, но с пустыми строками. См. скриншот.

Почему появляются пустые строки? Как правильно написать?
...
Рейтинг: 0 / 0
14.10.2019, 14:41
    #39876013
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python. Пустые строки
CSV - это текстовый файл.
Откройте полученный файл в текстовом редакторе и проверьте, есть там пустые строки или нет.
Если пустых строк не найдете - смотрите настройки импорта в используемой Вами программе-смотрелке.
...
Рейтинг: 0 / 0
14.10.2019, 14:54
    #39876025
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python. Пустые строки
vkleОткройте полученный файл в текстовом редакторе и проверьте, есть там пустые строки или нет.Пустых нет.
Если пустых строк не найдете - смотрите настройки импорта в используемой Вами программе-смотрелке.Вы имеете ввиду юпитер или excel?
...
Рейтинг: 0 / 0
14.10.2019, 14:56
    #39876027
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python. Пустые строки
ferzmikkВы имеете ввиду юпитер или excel?То, откуда скриншот.
...
Рейтинг: 0 / 0
14.10.2019, 22:29
    #39876288
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python. Пустые строки
vkleсмотрите настройки импорта в используемой Вами программе-смотрелке.В Microsoft Excel не нашел где это настраивается.

В коде добавил атрибут
Код: python
1.
with open('data.csv', 'wt', newline ='') as ContextManager:

Теперь нет пустых строк.
...
Рейтинг: 0 / 0
15.10.2019, 03:07
    #39876302
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python. Пустые строки
Это уже шаманство какое-то.
Любопытства ради протестировал оба примера, с newline ='' и без. Созданные файлы ни на байт не различаются и выглядят так:
Код: php
1.
2.
3.
4.
5.
6.
$ hexdump -C data.csv 
00000000  6e 61 6d 65 2c 72 61 74  69 6e 67 0d 0a d0 98 d0  |name,rating.....|
00000010  b2 d0 b0 d0 bd d0 be d0  b2 2c 31 0d 0a d0 9f d0  |.........,1.....|
00000020  b5 d1 82 d1 80 d0 be d0  b2 2c 32 0d 0a d0 a1 d0  |.........,2.....|
00000030  b8 d0 b4 d0 be d1 80 d0  be d0 b2 2c 33 0d 0a     |...........,3..|
0000003f



Если что, тестировал на
Код: php
1.
2.
$ python3 -V
Python 3.5.4
...
Рейтинг: 0 / 0
15.10.2019, 11:07
    #39876425
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python. Пустые строки
vkleЭто уже шаманство какое-то.Это от Юпитера зависит?

Если что, тестировал на
Код: php
1.
2.
$ python3 -V
Python 3.5.4

В юпитере и IDLE (Python 3.8 32-bit) ругается на символ $. При установке ставил галочку "Add python to PATH".

Почему ругается?
...
Рейтинг: 0 / 0
15.10.2019, 11:32
    #39876452
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python. Пустые строки
ferzmikkЭто от Юпитера зависит?Понятия не имею. Может быть этот Юпитер какие-то особые символы конца строки делает вместо стандартного CRLF (коды 0d 0a). Посмотрите полученный файл какой-нибудь HEX-смотрелкой, чтобы не гадать, где проблема - при создании файла или при просмотре в екселе.

ferzmikkВ юпитере и IDLE (Python 3.8 32-bit) ругается на символ $.Уххх, как всё завернуто... По мне так без выпендронов проще - набрать код в текстовом редакторе, запустить в консоли, там же и дамп посмотреть. Символ бакса - стандартное приглашение к вводу в консоли.
...
Рейтинг: 0 / 0
15.10.2019, 14:20
    #39876593
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python. Пустые строки
vkle,

Я правильно понимаю, что знак доллара в юпитере или IDLE (Python 3.8 32-bit) не нужно вводить, а также это для операционки как Mac, Linux?


Я пока еще не силен в системном администрировании. У меня операционка windows. Запустил cmd. Пытаюсь запустить команду
Код: python
1.
$ python3 -V

Со знаком доллара и без. Результат отображен на скриншоте. Что не так делаю?
...
Рейтинг: 0 / 0
15.10.2019, 14:59
    #39876609
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Python. Пустые строки
ferzmikkЯ пока еще не силен в системном администрировании.Каким тут боком администрирование? Это же основы запуска программ. Не путайте с мышководством и "дабл-кликом".

ferzmikkУ меня операционка windows. Запустил cmd. Пытаюсь запустить командуЗапустили команду python без аргументов. Вполне ожидаемо, что питон открыл свою интерактивную консоль.
Как работать в консоли питона - читайте в справке по питону.
Как работать в cmd... Ну тоже где-то почитать можно, хотя бы и в виндовой справке. Приглашение к вводу там угловая скобка ">".
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python. Пустые строки / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]