Python 将文件转换为键/值字典
我不确定我所拥有的是否真的是在创建一本新词典。我想获取一个文件,该文件当前每行有两个用逗号分隔的单词,并将其转换为字典,第一个单词是键,第二个是值。我看到,如果我打印,文字是分开的,但我不确定是否返回正确。谢谢Python 将文件转换为键/值字典,python,dictionary,Python,Dictionary,我不确定我所拥有的是否真的是在创建一本新词典。我想获取一个文件,该文件当前每行有两个用逗号分隔的单词,并将其转换为字典,第一个单词是键,第二个是值。我看到,如果我打印,文字是分开的,但我不确定是否返回正确。谢谢 WDictionary = open('file.csv', 'r') for line in WDictionary: mylist = line.split(',') return mylist 编辑:如建议的那样 dict(line.strip().split('
WDictionary = open('file.csv', 'r')
for line in WDictionary:
mylist = line.split(',')
return mylist
编辑:如建议的那样
dict(line.strip().split(',') for line in WDictionary)
编辑:如建议的那样
dict(line.strip().split(',') for line in WDictionary)
使用模块
他们已经解决了您试图解决的问题,包括引用问题、迭代行和解析:)
您可以在代码中尝试以下操作:
import csv
def readACSV():
with open('file.csv', 'r') as WDictionary
reader = csv.reader(WDictionary)
for row in reader:
yield row
for line in readACSV():
print line
不知道这是否有帮助,但请举一个小的用法示例,以防您不确定如何使用它。使用该模块
他们已经解决了您试图解决的问题,包括引用问题、迭代行和解析:)
您可以在代码中尝试以下操作:
import csv
def readACSV():
with open('file.csv', 'r') as WDictionary
reader = csv.reader(WDictionary)
for row in reader:
yield row
for line in readACSV():
print line
不知道这是否有帮助,但是举一个小的用法示例,以防你不确定如何使用它。我想你的缩进已经关闭了。我想你的缩进已经关闭了。你可能想抛出一个
映射(str.strip,line.split(','))
来摆脱新行摆脱新行是个好主意,但在我看来dict(line.strip().split)(“,”)用于WDictionary中的行)
比使用map更清晰。为了消除内部空白,map
版本可能更好(如果需要的话)。因为您是新的--答案使用的语法称为dict comprehension。这是一种通过WDictionary进行迭代并将每一行的结果添加到新词典中的速记方法。可能需要抛出一个映射(str.strip,line.split(','))
去掉换行符是个好主意,但是在我看来,dict(line.strip().split(',')对于WDictionary中的行)
比使用map更清晰。为了去掉内部空白,map版本可能更好(如果需要的话).因为您是新的--答案使用的语法称为dict comprehension。这是一种通过WDictionary迭代并将每一行的结果添加到新字典中的速记方式。与直接在读取器上迭代相比,第二个示例的目的是什么?即使您想单独打开文件,也只需返回直接从readACSV
读取,而不是不必要地在其周围包装另一个生成器。您是对的,我试图将其放入OP的示例中,第二个示例的目的是什么,而不是直接迭代读取器?即使您想隔离打开文件,也只需直接从返回读取器即可readACSV
而不是不必要地将另一个生成器包装在它周围。你是对的,我试图将它融入OP的示例中