Рубрики
Без рубрики

Использование CSV в Python ⚡

Привет, ребята! У меня недавно было требование сделать команды из бассейна около 100 человек с 5 членами … Теги с Python, учебником, CodeNewie, начинающими.

Привет, ребята!

У меня недавно было требование сделать команды из бассейна около 100 человек с 5 членами за команду каждый.

Обычно это примет много усилий и времени, чтобы сделать команды. Но в итоге вы будете вызывать предвзятые в любом случае. Вот почему я хочу автоматизировать этот процесс. Поэтому я написал небольшой сценарий в Python, который я хочу поделиться с вами сейчас.

Требования

  • Генерировать команды из листа Excel
  • Формируйте команды из 5 членов из 102 человека
  • отобразить влево, 2 человека
  • Полностью случайная логика формирующих команд

Давайте начнем!

Получение данных CSV из Excel

Я использовал листы Google для сбора информации, поэтому мне нужно преобразовать его в CSV.

Вот данные после преобразования (удалить первую строку, поскольку они указывают на имена столбцов)

Я сохранил файл как data.csv.

Теперь приходит главная часть! Код:)

Код

Читать .Csv Файлы в Python нам нужны CSV упаковка. Который уже предварительно установлен. Это означает, что вам не нужно устанавливать ничего, чтобы следовать:)

Импорт пакетов

# To read data from CSV file
import csv
# To get random sub-data 
from random import sample

Создание списков для хранения данных

CSV. Пакет, который мы импортировали ранее преобразующие каждую строку в файл CSV в список.

with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    for i in reader:
        print(i)

Вышеуказанные выходы кода,

Как вы можете видеть, это преобразует каждую строку в файле CSV в список Python. Потрясающе правильно?

Теперь я создал 2 пустых списка для хранения данных

# stores the roll numbers of all members in one list
persons = []

# stores lists of teams (lists inside inside list)
teams = []

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

with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    for i in reader:
        persons.append(i[0])

Теперь приходит главная часть! формируя фактические команды.

Идея состоит в том, чтобы случайно выбрать цифры из люди списки и делают эти 5 в качестве списка и вставьте их в Команды список после вставки их в Команды Список мне нужно удалить эти цифры из люди Список, как может быть шанс, что одно число входит в 2 команда.

Для этого нам нужны Случайные упаковка. Вот код

# Repeat the process until there are less than 5 members left
while len(persons)>5:
        # picks 5 random numbers from persons list
        a = sample(persons,5)
        # add the list of numbers as a single team
        teams.append(a)
        # after adding remove them to avoid redundancy
        for i in a:
            persons.remove(i)

Вот и все! Теперь мы получили наши обязательные команды в Команды список

Полный код

import csv
from random import sample
persons = []
teams = []
with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    for i in reader:
        persons.append(i[0])
    while len(persons)>5:
        a = sample(persons,5)
        teams.append(a)
        for i in a:
            persons.remove(i)
    for i in teams:
        print(i)
    print(persons)

Образец вывода

(только для справки)

Оригинал: “https://dev.to/manitej/using-csv-in-python-2492”