Python返回值,不带倒逗号
我有一个csv文件: shack_imei.csv:Python返回值,不带倒逗号,python,python-2.7,list,csv,Python,Python 2.7,List,Csv,我有一个csv文件: shack_imei.csv: shack, imei F10, "5555" 代码: 这给了我“5555” 但我需要这样的列表结构中的值: ["5555"] 我尝试了很多不同的方法,它们都以额外的“或” 编辑1: 新的更简单的代码: reader = csv.reader(open("shack_imei.csv", "rb")) my_dict = dict(reader) shack = raw_input('Enter Shack:') imei = my_di
shack, imei
F10, "5555"
代码:
这给了我“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”
列表(imei)
给我[''5555']
,我需要它是['5555']
你可以更改你的“返回”语句:
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
据我所知,您希望创建一个包含返回字符串的列表,您可以使用[]
list = [str(get_imei_from_entered_shack(shack))]
这段代码有一些问题,它们太长,无法在注释中解决
my_dict
my_dict=dict(reader)
只有当此csv是键和值的集合时才能正常工作。如果存在重复的密钥,则可能会出现一些问题
get\u imei\u from\u entered\u shack
为什么要使用这种特殊方法,而不是仅仅询问my_dict
正确的值。即使当您请求一个不存在的小屋时,您不希望它抛出一个异常
,您也可以使用dict.get(,)
方法
my_dict(shack, None)
与您的四行方法相同
列表
不要将变量命名为与builtin
s相同的名称
清单2
如果你想要一个列表,你可以做[]
或list()
(除非你用自己的变量赋值替换了list
)访问目录中某个键的值,使用my_dict[key]
-不需要对目录中的每一项进行单独的迭代,不要对变量使用list
这样的名称,因为这会对内置函数进行阴影处理。your_list=[str(get_imei_from_entered_shack(shack))]
如果希望字符串作为列表的元素,请不要将list
用作变量名称,请注意,csv.reader
根本不做任何类型的转换-因此str(value)
可以是value
建议:不要命名变量list
当我需要[“5555”]时,这仍然会给我[''555']
与原始问题的注释相同:dict
通过my_dict[key]
访问。
my_dict(shack, None)
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']