Comment utiliser le Joli Tableau en Python pour imprimer des données à partir de plusieurs listes?
Je suis relativement nouveau à la Programmation Python, à l'aide de Python 3.x, et je travaille sur un salon de coiffure P. O. S système où l'administrateur aura le privilège d'ajouter des Services et de leurs Prix.
Je suis l'aide de la Jolie Table de la bibliothèque pour obtenir l'impression d'une table avec serviceID, le service et le prix.
Voici mon code:
from prettytable import PrettyTable
import random
serviceID = []
services = []
price = []
x = PrettyTable()
x.add_column("ServiceID",[serviceID])
x.add_column("Service", [services])
x.add_column("Price", [price])
while True:
try:
ID = random.randint(1,90000) #range high to lower probability of non-uniqueness
serviceID.append(ID) #Generates unique ID for each service
prompt1 = input("Please add a service name to the list\n")
services.append(prompt1)
prompt2 = input("Please enter a price for the service\n")
prompt2 == int(prompt2)
price.append(prompt2)
print(x)
except ValueError:
print("Please enter valid type")
continue
Quand je rentre dans le premier de service et de Prix, la sortie est:
+-----------+---------+--------+
| ServiceID | Service | Price |
+-----------+---------+--------+
| [9880] | ['box'] | ['90'] |
+-----------+---------+--------+
Quand je rentre dans le 2e le service et le prix, la sortie est ceci:
+---------------+-----------------+--------------+
| ServiceID | Service | Price |
+---------------+-----------------+--------------+
| [9880, 47612] | ['box', 'trim'] | ['90', '80'] |
+---------------+-----------------+--------------+
J'aimerais que la sortie de ce:
+---------------+-----------------+--------------+
| ServiceID | Service | Price |
+---------------+-----------------+--------------+
| 9880 | box | 90 |
| 47612 | trim | 80 |
+---------------+-----------------+--------------+
Quelqu'un sait-il comment faire?
Toute aide serait appréciée.
Vous devez joindre les chaînes dans les listes avec
"\n".join(your_sublist)
OriginalL'auteur mabishi | 2016-04-05
Vous devez vous connecter pour publier un commentaire.
Nous pouvons le faire par l'ajout de ligne dans
PrettyTable
objet paradd_row
méthode.Démo:
Supprimer La Ligne:
Utilisation
del_row()
méthode. Nous avons besoin de passer de l'indice de la ligne que nous voulons supprimer.Besoin de gérer exception si nous fournir la valeur de l'indice supérieure à le nombre total des lignes en exception s'élever, qui doivent traiter dans le code.
Exception est la suivante:
Note:
Utilisation
raw_input()
pour Python 2.xUtilisation
input()
pour Python 3.xUtilisation
del_row
méthode. passer de l'indice de la ligne que nous voulons supprimer. Je m'ajoute à la réponse.Vivek Pour ma question précédente, j'ai trouvé un moyen d'accéder à différents éléments. C'est ce que j'ai fait: def log_service(): while True: essayer: response3 = input("Veuillez choisir le service à partir de la liste à l'aide de la ServiceID.\n") response3 = int(response3) y = (x[response3:(response3 + 1)]) #écrit dans le rapport de la table. Fonctionne mais ne pas stocker la valeur précédente connecté. c'est à dire. recommence à chaque fois, c'Est là une méthode comme ajouter une liste,ou un autre que je peux utiliser pour ajouter la ligne dans le nouveau tableau à chaque fois que le fx est appelé? Toutes mes excuses,ce n'est pas la création d'un bloc de code
OriginalL'auteur Vivek Sable
J'ai accompli que par la création d'une nouvelle instance de la classe prettytable.PrettyTable à l'intérieur de la boucle while.
Voici ma version de code à l'aide de methonds field_names() et add_row().
Est-il un moyen d'accéder aux différents éléments dans une rangée, pour obtenir les mêmes résultats qu'avec une liste? Par exemple, dans ce cas, un utilisateur normal aurait la capacité d'entrer dans un ServiceID et le programme d'impression, le Service et le Prix de la ligne et de demander une confirmation de l'entrée. Si elle est confirmée, le programme puis connectez-vous à l'entrée en (ServiceID, le Service et le Prix) un rapport que l'administrateur pourrait-vue. J'apprécie vraiment votre aide les gars!
OriginalL'auteur janus-py