Таблица CSV
CSV — это таблица из строк текста. Каждая строка текста — одна строка таблицы, а запятая отмечает границу ячейки. На прошлой странице один словарь лёг в одну строку. Здесь сама строка и есть строка таблицы. Файл не открывается. Строки лежат в текстовой коробке в памяти.
import csv
from io import StringIO
box = StringIO()
pen = csv.writer(box)
pen.writerow(["name", "city"])
pen.writerow(["mina", "qom"])
pen.writerow(["lida", "yazd, iran"])
print(box.getvalue(), end="")
На экране три строки. Первая — name,city. Это подписи столбцов, а не гость. Вторая — mina,qom, то есть mina и qom — две ячейки. Третья — lida,"yazd, iran". Кавычки здесь потому, что в названии города есть запятая. end="" велит print не добавлять свой перенос строки, поэтому экран заканчивается на третьей строке. Коробка уже закончилась переводом строки.
import csv
from io import StringIO
text = "name,city\nmina,qom\nlida,\"yazd, iran\"\n"
box = StringIO(text)
rows = list(csv.reader(box))
print(rows[1][0])
print(rows[2][1])
На экране сначала mina, затем yazd, iran. Эта программа стартует с чистого листа и не запускает запись снова. rows[1][0] — первая ячейка второй строки, гость mina. rows[2][1] — город, yazd, iran. Кавычки не входят в город. В строке по-прежнему две ячейки. iran остаётся при yazd.
Если вы сами разрежете третью строку по каждой запятой, iran станет похож на третью ячейку. Читающий объект там не режет. Кавычки обозначают одну ячейку, а потом отпадают. В программах нет open, нет Path, нет JSON, и ничего не сохраняется в файл.
Следующая страница — модули. Эта страница только записывает строки и читает ячейки.
Строки, потом ячейки
Экран первой программы: name,city, затем mina,qom, затем lida,"yazd, iran". Потом чтение показывает mina и yazd, iran. Кавычки не входят в город. Файл не открывается. Следующая страница — модули.
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху