我对python还比较陌生,需要一些帮助才能使这些代码适应我的示例。它应该接受以".regions.bed“结尾的多个床文件,然后将这些文件转换为.csv。这部分很好,但是我不理解整个拆分过程,特别是来自: file.split('_')2 == "AA":以及下面的代码。有人能解释一下这段代码对文件做了什么吗?
out_coverage = pd.DataFrame()
for subdir, dirs, files in os.walk(folder):
for file in files:
if file.endswith(".regions.bed"):
#file = f[0:len(f)-12]
if file.split('_')[2] == "AA":
r = "GX_" + file.split('_')[3]
run = r[0:len(r)-12]
sample = file.split('_')[0] + "_" + file.split('_')[1]
else:
r = "AA_" + file.split('_')[2]
run = r[0:len(r)-12]
sample = file.split('_')[0]发布于 2022-09-09 11:29:57
关于python,一个好的方面是您可以交互地尝试一些东西:
$ python
Python 3.9.10 (main, Jan 20 2022, 22:28:26)
>>> file = "just_some_simple_test.regions.bed"
>>> file
'just_some_simple_test.regions.bed'
>>> file.endswith(".regions.bed")
True
>>> file.split('_')
['just', 'some', 'simple', 'test.regions.bed']
>>> file.split('_')[2]
'simple'
>>> file.split('_')[2] == "AA"
False
>>> file[:-12]
'just_some_simple_test'
>>> file[:-12].split('_')
['just', 'some', 'simple', 'test']因此,如您所见,file.split('_')在每个_-character中拆分包含在文件中的字符串,并创建一个包含这些段的列表。[2]从该列表中选择第三个元素(0是第一个元素),== "AA"将其与AA进行比较。
https://stackoverflow.com/questions/73661385
复制相似问题