如何正确导入52张扑克牌的csv文件?

时间:2019-07-03 14:46:52

标签: python python-3.x csv read.csv

我正在一个项目中用python创建战争卡片游戏。作业要求使用csv文件创建52个纸牌组,但是我遇到了麻烦。我通过excel创建了csv文件,并尝试将其导入,但无法正常工作。我是初学者。

这里是excel csv文件: ![2]:https://gyazo.com/60b87342bbe22b8feffb1b2d8a5653ae

我试图效仿教授的榜样,但这在这项作业中并没有真正的作用。

   import csv
    with open('PlayingCards.csv')as csvfile:
    PlayingCards = csv.reader(csvfile,delimiter = ',')
    print('Card Names','\t', 'Card Values','\t', 'Suits')

    for row in PlayingCards:
    print('%-7s %-10s% 3.2f% 3.2f'%
        (row[0],row[1]))

我希望它能像这样或类似的形式打印出来!! [1]:https://gyazo.com/d2fc57640c3b64640c1ebde652b4d808 但是我得到一个错误。

1 个答案:

答案 0 :(得分:0)

要执行此特定工作,您需要了解要处理的数据类型。 西装就像主甲板一样,随身携带每张卡。

所以这个第一阶段就是这样。

import csv
card_name_to_value_dict = {}
suit_list = []
with open('PlayingCards.csv')as csvfile:
     PlayingCards = csv.reader(csvfile, delimiter = ',')
     for row in PlayingCards
         new_cardname, new_cardvalue, new_suitvalue = row
         if new_cardname:
            card_name_to_value_dict[new_cardname] = new_cardvalue
         if new_suitvalue.strip():
            suit_list.append(new_suitvalue.replace("\n",""))
string_result = "\n".join(["\t".join([name, suit, value]) for each_suit in suit_list for name,value in card_name_to_value_dict.items()])      
print string_result
# The string result can be saved into a file for submission

我尽可能地重用了大多数变量,以便您更容易理解它,如果需要任何说明,请告诉我。