CSV файл и конвертация в другие форматы

Ayris

Новичок
Пользователь
Мар 13, 2022
6
1
3
(Создайте функцию, которая будет создавать CSV файл на основе данных, введенных пользователем через консоль. Файл должен содержать следующие колонки: имена, фамилии, даты рождений и город проживания. Реализовать возможности перезаписи данного файла, добавления новых строк в существующий файл, построчного чтения из файла и конвертацию всего содержимого в форматы XML и JSON).

Эту задачу я пыталась выполнить на протяжение нескольких часов, однако так и не смогла её решить. Поэтому я решила написать сюда, чтобы узнать пример кода.
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
973
220
43
21
Москва
Как решить любую задачу:
1) Разбей на подзадачи:
- Создать функцию записи в файл
- Создать цикл ввода данных

2) Создай шаблон
Python:
def data_to_csv(data: list, path: str):
    for i in data:
        pass  # Тут будем добавлять строку в файл
    # Тут сохраним файл

data = []
while True:
    inf = []
    # Запрашиваем данные человека
    for i in ('Имя: ', 'Фамилия: ', 'Дата рождения: ', 'Город проживания: '):
        inf.append(input(i))
    # Если ввели все данные, добавляем элемент в массив
    if all(inf):
        data.append(inf)
    # Иначе выходим из цикла
    else:
        break

3) Пойми что тебе не хватает - записи в csv файл - и найди библиотеку и документацию к ней

4) Доработай код
Python:
import csv


def data_to_csv(data: list, path: str):
    with open(path, 'w', newline='') as file:
        writer = csv.writer(file, delimiter=';')
        writer.writerows(data)


data = []
while True:
    inf = []
    # Запрашиваем данные человека
    for i in ('Имя: ', 'Фамилия: ', 'Дата рождения: ', 'Город проживания: '):
        inf.append(input(i))
    # Если ввели все данные, добавляем элемент в массив
    if all(inf):
        data.append(inf)
    # Иначе выходим из цикла
    else:
        break
data_to_csv(data, "tmp.csv")
 

Ayris

Новичок
Пользователь
Мар 13, 2022
6
1
3
Как решить любую задачу:
1) Разбей на подзадачи:
- Создать функцию записи в файл
- Создать цикл ввода данных

2) Создай шаблон
Python:
def data_to_csv(data: list, path: str):
    for i in data:
        pass  # Тут будем добавлять строку в файл
    # Тут сохраним файл

data = []
while True:
    inf = []
    # Запрашиваем данные человека
    for i in ('Имя: ', 'Фамилия: ', 'Дата рождения: ', 'Город проживания: '):
        inf.append(input(i))
    # Если ввели все данные, добавляем элемент в массив
    if all(inf):
        data.append(inf)
    # Иначе выходим из цикла
    else:
        break

3) Пойми что тебе не хватает - записи в csv файл - и найди библиотеку и документацию к ней

4) Доработай код
Python:
import csv


def data_to_csv(data: list, path: str):
    with open(path, 'w', newline='') as file:
        writer = csv.writer(file, delimiter=';')
        writer.writerows(data)


data = []
while True:
    inf = []
    # Запрашиваем данные человека
    for i in ('Имя: ', 'Фамилия: ', 'Дата рождения: ', 'Город проживания: '):
        inf.append(input(i))
    # Если ввели все данные, добавляем элемент в массив
    if all(inf):
        data.append(inf)
    # Иначе выходим из цикла
    else:
        break
data_to_csv(data, "tmp.csv")
большое спасибо, я учту ваш совет
 
  • Мне нравится
Реакции: Vershitel_sudeb

Форум IT Специалистов