Créer un tableau de multiplication de chaque élément dans une feuille de calcul (Python)

Conditions préalables

Lors de l'écriture des valeurs de type de dictionnaire Python suivantes sous la forme d'un tableau dans une feuille de calcul.

    pattern = {
        'surface': ['Japon', 'Amérique', 'Angleterre'],
        'sexe': ['Homme', 'femme'],
        'la taille': ['100 cm ou plus', 'Moins de 100 cm']
    }

environnement

Création de table de multiplication (produit direct)

Si vous souhaitez créer un tableau dans lequel les éléments suivants sont multipliés dans une feuille de calcul,

surface sexe la taille
1 Japon Homme 100 cm ou plus
2 Japon Homme Moins de 100 cm
3 Japon femme 100 cm ou plus
4 Japon femme Moins de 100 cm
5 Amérique Homme 100 cm ou plus
6 Amérique Homme Moins de 100 cm
7 Amérique femme 100 cm ou plus
8 Amérique femme Moins de 100 cm
9 Angleterre Homme 100 cm ou plus
10 Angleterre Homme Moins de 100 cm
11 Angleterre femme 100 cm ou plus
12 Angleterre femme Moins de 100 cm

Si vous écrivez ce qui suit en Python, ceux séparés par des virgules seront affichés.

from itertools import product

if __name__ == '__main__':
    pattern = {
        'surface': ['Japon', 'Amérique', 'Angleterre'],
        'sexe': ['Homme', 'femme'],
        'la taille': ['100 cm ou plus', 'Moins de 100 cm']
    }
    delimiter = ','
    result = delimiter + delimiter.join(pattern.keys()) + '\n'
    i = 0
    for item in product(*pattern.values()):
        i += 1
        result += str(i) + delimiter + delimiter.join(item) + '\n'
    print(result)

Collez-le dans une feuille de calcul pour créer un joli tableau.

,surface,sexe,la taille
1,Japon,Homme,100 cm ou plus
2,Japon,Homme,Moins de 100 cm
3,Japon,femme,100 cm ou plus
4,Japon,femme,Moins de 100 cm
5,Amérique,Homme,100 cm ou plus
6,Amérique,Homme,Moins de 100 cm
7,Amérique,femme,100 cm ou plus
8,Amérique,femme,Moins de 100 cm
9,Angleterre,Homme,100 cm ou plus
10,Angleterre,Homme,Moins de 100 cm
11,Angleterre,femme,100 cm ou plus
12,Angleterre,femme,Moins de 100 cm

Supplément

Créer une table d'éléments de classification

Si vous souhaitez créer le tableau suivant pour chaque élément et sa valeur dans le tableau de multiplication ci-dessus

article valeur
surface Japon
Amérique
Angleterre
sexe Homme
femme
la taille 100 cm ou plus
Moins de 100 cm

Si vous écrivez ce qui suit en Python, ceux séparés par des virgules seront affichés.

if __name__ == '__main__':
    pattern = {
        'surface': ['Japon', 'Amérique', 'Angleterre'],
        'sexe': ['Homme', 'femme'],
        'la taille': ['100 cm ou plus', 'Moins de 100 cm']
    }
    delimiter = ','
    result = ''
    for key, value in pattern.items():
        for index, item in enumerate(value):
            if index == 0:
                result += key
            result += delimiter + item + '\n'
    print(result)

Collez-le dans une feuille de calcul pour créer un joli tableau.

surface,Japon
,Amérique
,Angleterre
sexe,Homme
,femme
la taille,100 cm ou plus
,Moins de 100 cm

Code résumé

Si cela est transformé en un fichier Python qui peut être avancé de manière interactive, ce sera comme suit.

from itertools import product

def get_input(default: str = ''):
    value: str = input().rstrip("\n")
    if value:
        return value
    return default

def configure():
    print("""
Please configure
    delimiter [,]:
""")
    delimiter = get_input(',')

    print(f"""
    prefix:
    """)
    prefix = get_input()

    print(f"""
    suffix:
    """)
    suffix = get_input()
    return delimiter, prefix, suffix

def print_product_table(pattern: dict, delimiter: str, prefix: str, suffix: str):
    result = prefix + delimiter + delimiter.join(pattern.keys()) + suffix + '\n'
    i = 0
    for item in product(*pattern.values()):
        i += 1
        result += prefix + str(i) + delimiter + delimiter.join(item) + suffix + '\n'
    print(result)

def print_category_key_value(pattern, delimiter, prefix, suffix):
    result = ''
    for key, value in pattern.items():
        for index, item in enumerate(value):
            line = prefix
            if index == 0:
                line += key
            line += delimiter + item + suffix
            result += line.strip() + '\n'
    print(result)

if __name__ == '__main__':
    pattern = {
        'surface': ['Japon', 'Amérique', 'Angleterre'],
        'sexe': ['Homme', 'femme'],
        'la taille': ['100 cm ou plus', 'Moins de 100 cm']
    }

    print_pattern: int = None
    while True:
        print("""
Print dict structure.

Enter print pattern:
    1. Product table
    2. Category key-value
        """)
        print_pattern = int(get_input())
        if print_pattern in [1, 2]:
            break;

    delimiter, prefix, suffix = configure()

    if print_pattern == 1:
        print_product_table(pattern, delimiter, prefix, suffix)
    elif print_pattern == 2:
        print_category_key_value(pattern, delimiter, prefix, suffix)

Autre

Pourquoi Python
Parce que je travaillais avec Python à cette époque.

Recommended Posts

Créer un tableau de multiplication de chaque élément dans une feuille de calcul (Python)
Copiez la liste en Python
Créez un tracé de R semblable à un joyplot avec python
Créer un bookmarklet en Python
Obtenez l'index de chaque élément de la matrice de confusion en Python
Comment déterminer l'existence d'un élément sélénium en Python
Afficher une liste d'alphabets en Python 3
Créer un diagramme de relations des modules Python
Comment afficher la table quatre-vingt-dix-neuf en python
Faisons un calcul de combinaison avec Python
Statut de chaque système de traitement Python en 2020
Récupérer l'appelant d'une fonction en Python
Faites correspondre la distribution de chaque groupe en Python
Réécrire des éléments dans une boucle de listes (Python)
Créez un jeu Janken en une seule ligne (python)
Sortie sous la forme d'un tableau python
Touchons une partie de l'apprentissage automatique avec Python
Environnement enregistré pour l'analyse des données avec Python
Comparez la somme de chaque élément dans deux listes avec la valeur spécifiée en Python
Faire de chaque page PowerPoint un fichier image en Python
Faire une copie d'un fichier Google Drive à partir de Python
Une collection de code souvent utilisée dans Python personnel
Créez un Slackbot simple avec un bouton interactif en python
Jusqu'à ce que vous insériez des données dans une feuille de calcul en Python
Regrouper par éléments consécutifs d'une liste en Python
Afficher un histogramme des valeurs de luminosité de l'image en python
Un mémorandum sur la mise en œuvre des recommandations en Python
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
Sortie de la table spécifiée de la base de données Oracle en Python vers Excel pour chaque fichier
Comment compter le nombre d'occurrences de chaque élément de la liste en Python avec poids
Prendre une capture d'écran en Python
Créer une fonction en Python
Créer un dictionnaire en Python
[Python] Comment créer une liste de chaînes de caractères caractère par caractère
Vérifiez le fonctionnement de Python pour .NET dans chaque environnement
Obtenez le nombre d'éléments spécifiques dans la liste python
[Python] Comment supprimer des lignes et des colonnes dans une table (liste des options de méthode de dépôt)
Faisons un service de vente au comptant 4 (en Python mini Hack-a-thon)
Jugement d'équivalence d'objet en Python
Produit matriciel en python numpy
Ne faites pas test.py en Python!
Comment développer dans un environnement virtuel Python [Memo]
[Note] Importation de fichiers dans le répertoire parent en Python
Faites une loterie avec Python
Rendre Opencv disponible en Python
Comment obtenir une liste d'exceptions intégrées pour python
[python] Gérer les fonctions en les mettant dans un dictionnaire (table de commande, table de fonction, pointeur de fonction)
Segfo python en 2 lignes
Obtenez le nombre d'occurrences pour chaque élément de la liste
Un mémo que j'ai écrit une fonction de base en Python en utilisant la récurrence
J'ai fait un chronomètre en utilisant tkinter avec python
Dessinez un cœur en Python
Implémentation du tri rapide en Python
Un ensemble de fichiers de script qui font wordcloud avec Python3
Trouver les valeurs propres d'une vraie matrice symétrique en Python
Je veux ajouter un joli complément à input () en python
Une histoire que je voulais faire quand j'ai eu une liste de sessions d'étude avec Python
[Python] Un programme qui compare chaque élément de la liste un par un et gagne ou perd. Zip *: français ()
[Python] Mémo des phrases fréquemment utilisées dans les scripts Python