|
Оглавление
|
CSV является простым форматом данных, который обычно используется программным обеспечением для работы с электронными таблицами. Формат описывает набор записей таблицы, в котором каждая ячейка ряда отделена друг от друга запятой (CSV — это аббревиатура для comma-separated values). Например, ниже представлены некоторые данные на "недисциплинированных" пассажиров авиакомпании в формате CSV: Year,Unruly Airline Passengers 1995,146 1996,184 1997,235 1998,200 1999,226 2000,251 2001,299 2002,273 2003,281 2004,304 2005,203
ЗамечаниеВышеприведённый пример содержит реальные числа. Они были любезно предоставлены Федеральным Управлением Авиации США. См. http://www.faa.gov/data_statistics/passengers_cargo/unruly_passengers/.
Несмотря на то, что CSV выглядит просто, он не является форматом как таковым. Разные программные продукты создают и используют различные варианты CSV, делая непростым его использование. К счастью, Python поставляется со стандартной библиотекой для работы с CSV.
По причине того, что модуль csv работает как
файлоподобные объекты, его можно использовать вместе с
import csv
from django.http import HttpResponse
# Количество недисциплинированных пассажиров за каждый год диапазона 1995 - 2005.
# В реальном приложении эта информация будет получена из базы данных.
UNRULY_PASSENGERS = [146,184,235,200,226,251,299,273,281,304,203]
def unruly_passengers_csv(request):
# Создаём объект HttpResponse с соответствующим CSV заголовком.
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=unruly.csv'
# Создаём объект для записи CSV, используя HttpResponse как "файл"
writer = csv.writer(response)
writer.writerow(['Year', 'Unruly Airline Passengers'])
for (year, num) in zip(range(1995, 2006), UNRULY_PASSENGERS):
writer.writerow([year, num])
return response
Код и комментарии должны быть достаточно очевидными, но некоторые моменты требует особого упоминания:
Это основной шаблон поведения в случае когда вам требуется
вернуть информацию отличную от HTML: создайте объект
Давайте рассмотрим ещё несколько примеров. |
Увидели ошибку?
Выделите её мышкой и нажмите
-
Обработано:
1049
49
130
71
Версия книги
1.0
2.0
Версия 2.0 в процессе перевода!
Мой луч
Многообразие света
Полезное
Актуальные вакансии,
Python работа
для python-разработчиков.
Скачать в формате
CHM от 2 сентябряЗаказать PDF файл можно через почту, чат, джаббер. Всего 2WMZ. Содержимое точно соответствует содержимому сайта. Чем чаще заказываете — тем больше перевожу. Русская группа
Ускорить процесс перевода!
R130494980980
Z425285133788 E112528079659 U327380922061 Книга помогла реализовать:
|
| © 2008-2009 Ruslan Popov @ gmail.com | Powered by Django 1.1 beta 1 SVN-11114 |