我正在尝试找到一种更清洁的方法来执行此操作。 我有大约20种不同的货币对,现在将数据备份到每月的csv文件中,我想自动为您的货币设置一个名称。要为名称分配自定义名称和数据,而不是使用冗长的elif语句,我正在寻找一种更简单的清洁器,为什么要这样做
使用VS社区 使用Python 3.7
import datetime as dt
import csv
currency="USD/JPY"
format="csv"
## Find Currancy Name
if currency == "EUR/USD":
currencyName = "EUR_USD-"
elif currency == "USD/JPY":
currencyName = "USD_JPY-"
elif currency == "GBP/USD":
currencyName = "GBP_USD-"
else:
currencyname = "not found"
currentDT = dt.datetime.today().strftime('%Y-%m')
DatabaseName = currencyName + currentDT
print(DatabaseName)
答案 0 :(得分:2)
改用字典来进行O(1)
查找:
d = {"EUR/USD":"EUR_USD-","USD/JPY":"USD_JPY-"}
value = d.get(currency,"not found") # "not found" is the default value
如评论中所述,在这种情况下,似乎一个简单的str.replace
就可以完成任务。字典可以执行通用查找。