Python 基于文件在lambda表达式中设置字典

Python 基于文件在lambda表达式中设置字典,python,pandas,lambda,Python,Pandas,Lambda,我正在做一个有很多代码的项目,并将其作为学习的一种手段。我是通过把它拆开玩来做到这一点的 代码的一部分最初是这样的 def removeQuotesAndCommmasFromString(line): if line.startswith('"'): line = line[1:] if line.endswith(','): line = line[:-2] if line.endswith('"'): line = line[:-2] return line DU

我正在做一个有很多代码的项目,并将其作为学习的一种手段。我是通过把它拆开玩来做到这一点的

代码的一部分最初是这样的

def removeQuotesAndCommmasFromString(line):
if line.startswith('"'):
    line = line[1:]
if line.endswith(','):
    line = line[:-2]
if line.endswith('"'):
    line = line[:-2]
return line

DUMMY = {l[0].strip().strip('\n'):l[1].strip().strip('\n').split("~") for l in map(lambda x: removeQuotesAndCommmasFromString(x).split("\t"),open(sys.argv[3]).readlines()) if len(l)==2}
但是,我不能从命令行开始完整的代码,并使用它来学习,所以我想用另一种方式来阅读文件。因此,我执行了以下操作,但由于使用removeQuotesAndCommas的systax无效,下面的代码出现了错误

def removeQuotesAndCommmasFromString(line):
if line.startswith('"'):
    line = line[1:]
if line.endswith(','):
    line = line[:-2]
if line.endswith('"'):
    line = line[:-2]
return line    

DUMMY1 = {l[0].strip().strip('\n'):l[1].strip().strip('\n').split("~") for l in map(lambda x: removeQuotesAndCommmasFromString(x).split("\t"),pd.read_csv('filename.csv') if len(l)==2}
我也试过了

DUMMY1 = {l[0].strip().strip('\n'):l[1].strip().strip('\n').split("~") for l in map(lambda x: removeQuotesAndCommmasFromString(x).split("\t"),open('filename.csv') if len(l)==2}

关于如何从某个文件中获取所需信息,您有什么想法吗?

“代码不喜欢我”不是一个适当的问题陈述。也许您应该编写一个函数,而不是184长度的一行代码“它不工作”不是一个适当的问题陈述您的一行代码不适合在屏幕上显示,很难说你想要什么。你需要在提问上下功夫。我们无法读懂你的心思。你应该总是用完整的堆栈跟踪来公布你所得到的准确错误,但我敢肯定你只是缺少了一个右括号。但是,请注意,您尝试使用数据帧的结果不会像您预期的那样。