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

时间:2017-03-09 19:49:12

标签: 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

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}

我无法从命令行中取出整个代码然后使用它来学习,所以想要采取这种方式并使其适应以另一种方式读取文件。因此,我已经完成了以下操作,但由于无效的systax我使用removeQuotesAndCommas,因此我的代码出现以下错误。

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}

关于如何获取我需要的信息的任何想法都来自某个文件到这一行?

0 个答案:

没有答案