我有csv文件:
shack_imei.csv:
shack, imei
F10, "5555"
代码:
reader = csv.reader(open("shack_imei.csv", "rb"))
my_dict = dict(reader)
shack = raw_input('Enter Shack:')
print shack
def get_imei_from_entered_shack(shack):
for key, value in my_dict.iteritems():
if key == shack:
return value
list = str(get_imei_from_entered_shack(shack))
print list
给了我"5555"
但我需要这样的列表结构中的这个值:
["5555"]
我尝试了很多不同的方法,最后他们都得到了额外的'
或""
编辑1: 新的更简单的代码:
reader = csv.reader(open("shack_imei.csv", "rb"))
my_dict = dict(reader)
shack = raw_input('Enter Shack:')
imei = my_dict[shack]
print imei
" 5555"
list(imei)
给了我['"5555"']
,我需要它["5555"]
答案 0 :(得分:0)
您可以更改“返回”句子:
shack = raw_input('Enter Shack:')
print shack
def get_imei_from_entered_shack(shack):
for key, value in my_dict.iteritems():
if key == shack:
return [str(value)]
list = get_imei_from_entered_shack(shack)
print list
答案 1 :(得分:0)
据我了解,您想要创建一个包含返回字符串的列表,您可以使用[]
list = [str(get_imei_from_entered_shack(shack))]
答案 2 :(得分:0)
此代码存在一些问题,这些问题在评论中解决的时间太长
my_dict
my_dict = dict(reader)
仅在此csv是键和值的集合时才有效。如果存在重复键,则可能会出现一些问题
get_imei_from_entered_shack
为什么选择这种特殊方法,而不是只询问my_dict
正确的值。即使您要求Exception
要求shack
不存在,也可以使用dict.get(<key>, <default>)
方法
my_dict(shack, None)
与您的4行方法相同
不要将变量命名为builtin
s
如果您需要列表,可以[<value>]
或list(<value>)
(除非您使用自己的变量分配替换list
)
答案 3 :(得分:0)
reader = csv.reader(open("shack_imei.csv", "rb"))
my_dict = dict(reader)
shack = raw_input('Enter Shack:')
imei = my_dict[shack]
imei = imei.replace('"',"")
IMEI_LIST =[]
IMEI_LIST.append(imei)
print IMEI_LIST
['5555']