将python中由换行符分隔的字符串文件解析为json数组

将python中由换行符分隔的字符串文件解析为json数组,python,Python,我有一个名为path_text.txt的文件,其内容是由换行符分隔的两个字符串: /gp/oi/eu/gatk/inputs/NA12878_24RG_med.hg38.bam /gp/oi/eu/gatk/inputs/NA12878_24RG_small.hg38.bam 我想要一个json数组对象,如下所示: with open('path_text.txt','w',encoding='utf-8') as myfile: myfile.write(','.join('\n'

我有一个名为path_text.txt的文件,其内容是由换行符分隔的两个字符串:

/gp/oi/eu/gatk/inputs/NA12878_24RG_med.hg38.bam 
/gp/oi/eu/gatk/inputs/NA12878_24RG_small.hg38.bam
我想要一个json数组对象,如下所示:

with open('path_text.txt','w',encoding='utf-8') as myfile:
    myfile.write(','.join('\n'))
[/gp/oi/eu/gatk/inputs/NA12878_24RG_med.hg38.bam,/gp/oi/eu/gatk/inputs/NA12878_24RG_small.hg38.bam]

我试过这样的方法:

with open('path_text.txt','w',encoding='utf-8') as myfile:
    myfile.write(','.join('\n'))
但它不起作用

见下文

with open('path_text.txt') as f:
    data = [l.strip() for l in f.readlines()]
见下文

with open('path_text.txt') as f:
    data = [l.strip() for l in f.readlines()]

我看不出你一开始是在哪里读文件的。您必须实际读取path_text.txt才能正确格式化

使用打开的'path_text.txt','r',将='utf-8'编码为myfile: content=myfiel.read.splitlines 这将为您提供['/gp/oi/eu/gatk/inputs/NA12878_24RG_med.hg38.bam','/gp/oi/eu/gatk/inputs/NA12878_24RG_small.hg38.bam']的内容

现在,如果要将此数据写入格式为[/gp/oi/eu/gatk/inputs/NA12878_24RG_med.hg38.bam,/gp/oi/eu/gatk/inputs/NA12878_24RG_small.hg38.bam]的文件中-

导入json 打开'path_json.json','w'作为f: json.dumpcontent,f 现在,path_json.json文件如下所示-

[/gp/oi/eu/gatk/inputs/NA12878_24RG_med.hg38.bam,/gp/oi/eu/gatk/inputs/NA12878_24RG_small.hg38.bam]
如果您想从文件加载json,那么这是有效的json。我看不出您首先从文件中读取的是什么。您必须实际读取path_text.txt才能正确格式化

使用打开的'path_text.txt','r',将='utf-8'编码为myfile: content=myfiel.read.splitlines 这将为您提供['/gp/oi/eu/gatk/inputs/NA12878_24RG_med.hg38.bam','/gp/oi/eu/gatk/inputs/NA12878_24RG_small.hg38.bam']的内容

现在,如果要将此数据写入格式为[/gp/oi/eu/gatk/inputs/NA12878_24RG_med.hg38.bam,/gp/oi/eu/gatk/inputs/NA12878_24RG_small.hg38.bam]的文件中-

导入json 打开'path_json.json','w'作为f: json.dumpcontent,f 现在,path_json.json文件如下所示-

[/gp/oi/eu/gatk/inputs/NA12878_24RG_med.hg38.bam,/gp/oi/eu/gatk/inputs/NA12878_24RG_small.hg38.bam]

如果您想从文件加载json,那么这是有效的json

您说您想将文件读取为json,但您的代码正在写入该文件。你到底想做哪一个?如果您正在尝试读取,为什么不只是file.readlines?读取是的。很抱歉,我试图在现有文件中写入逗号和双引号。这就是为什么我用手写体回答你的问题?然后说您想将文件读取为JSON,但您的代码正在写入该文件。你到底想做哪一个?如果您正在尝试读取,为什么不只是file.readlines?读取是的。很抱歉,我试图在现有文件中写入逗号和双引号。这就是为什么我用手写体回答你的问题?接下来是列表理解,这很好,但请注意,结果是单引号,JSON需要双引号。我们这里有字符串列表。输入的引号不重要。@alex什么?单引号只是python表示字符串的方式,这根本没有任何意义。当您使用json时,它仍然是有效的json。dumps@Chase我认为OP在读取一个不能被读取为的文件时会与单引号混淆JSON@alex那么为什么不使用内置的json模块呢?列表理解很好,但是请注意,单引号是结果,json需要双引号。我们这里有字符串列表。输入的引号不重要。@alex什么?单引号只是python表示字符串的方式,这根本没有任何意义。当您使用json时,它仍然是有效的json。dumps@Chase我认为OP在读取一个不能被读取为的文件时会与单引号混淆JSON@alex那么为什么不使用内置的json模块呢?@Tomerikoo true,我不知道我是如何在一开始的回答中忘记使用json.dump的,同时又在一篇文章中提到了它comment@Chase是的,我注意到此刻一切都很好。。。现在看起来很好:@Tomerikoo true,我不知道我是如何在一开始的回答中忘记使用json.dump的,而同时在一篇文章中提到它的comment@Chase是的,我注意到此刻一切都很好。。。现在看起来不错: