如何正确导入 52 张扑克牌的 csv 文件?
How do I properly import a csv file for a 52 playing card deck?
我正在开展一个项目,在 python 中创建 war 纸牌游戏。该作业要求使用 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
但是我得到一个错误。
要完成这项特定工作,您需要了解正在处理的数据类型。
西装就像主套牌,每张牌都有价值。
所以第一阶段是这样的。
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
我尽可能重复使用了大部分变量,以便您更容易理解,如果您需要任何说明,请告诉我。
我正在开展一个项目,在 python 中创建 war 纸牌游戏。该作业要求使用 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 但是我得到一个错误。
要完成这项特定工作,您需要了解正在处理的数据类型。 西装就像主套牌,每张牌都有价值。
所以第一阶段是这样的。
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
我尽可能重复使用了大部分变量,以便您更容易理解,如果您需要任何说明,请告诉我。