Split et "merge"
new_26
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
dsy73 Messages postés 9252 Date d'inscription Statut Contributeur Dernière intervention -
dsy73 Messages postés 9252 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
j'ai passé la journée sur mon script et j'avoue que je suis un peu désoeuvrée!!!
voilà mon problème, j'ai deux fichiers:
fichier_1:
Ch Sp Allele1 Pop1 Pop2 PopS Allele2 Pop1 Pop2 PopS Scaffold Position
- - G 10 8 3 A 0 1 12 S01 2506
- - A 10 8 3 G 0 1 12 S01 2600
- - G 10 9 13 A 0 0 2 S01 9941
- - T 10 4 3 C 0 5 12 S20 9851
fichier_2:
CHROM POS REF X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
S01 1734 T T C C T C C C C C C T
S01 2506 G A G G A G G G G G G A
S01 2520 G A G G A G G G G G G A
S01 2600 G A G G A G G G G G G A
S15 7693 C T C C T C C C C C C T
S20 9851 A G G G G G G G G G G G
Je voudrai accoler à la suite de chaque ligne du fichier_1 la ligne correspondante du fichier_2, c'est à dire: si "Scaffold Position" du fichier_1 == "CHROM POS" du fichier_2 alors output:
- - G 10 8 3 A 0 1 12 S01 2506 G A G G A G G G G G G A
j'ai essayé ceci en python:
for m in fichier_1:
if "Scaffold" in m:
pass
if "Position" in m:
pass
for n in fichier_2:
if "CHROM" in n:
pass
if "POS" in n:
pass
else:
fichier_1_Scaffold_Pos=[]
fichier_2_Scaffold_Pos=[]
for i in fichier_1:
spt_1=i.split("\t")
var = spt_1[10] + spt_1[11]
#print spt_1
fichier_1_Scaffold_Pos.append(var)
#print fichier_1_Scaffold_Pos
for k in fichier_2:
spt_2=k.split("\t")
var2 = spt_2[0] + spt_2[1]
#print var2
fichier_2_Scaffold_Pos.append(var)
#print fichier_2_Scaffold_Pos
for j in fichier_2_Scaffold_Pos.append:
#print j
for p in fichier_1_Scaffold_Pos.append:
if j==p:
for x in fichier_2:
for y in fichier_1:
print y + x
Mais bien sûr ça ne marche pas, j'ai cherché trop compliqué comem d'habitude!!!
un premier problème que j'ai c'est le split, je voudrais récupérer les colonnes comme ceci:" S01 2506" mais avec mon split j'ai: "S012506" parce que ce que je recherche ensuite c'est si "S01 2506" du fichier_1 est retrouvé dans le fichier_2 alors print la totalité de la ligne du fichier_1 suivie de la ligne du fichier_2
Je ne sais pas si je suis bien claire, j'avoue que je débute et j'ai le cerveau un peu fatigué après une journée sur mon script :/
Merci d'avance de votre aide ;)
j'ai passé la journée sur mon script et j'avoue que je suis un peu désoeuvrée!!!
voilà mon problème, j'ai deux fichiers:
fichier_1:
Ch Sp Allele1 Pop1 Pop2 PopS Allele2 Pop1 Pop2 PopS Scaffold Position
- - G 10 8 3 A 0 1 12 S01 2506
- - A 10 8 3 G 0 1 12 S01 2600
- - G 10 9 13 A 0 0 2 S01 9941
- - T 10 4 3 C 0 5 12 S20 9851
fichier_2:
CHROM POS REF X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
S01 1734 T T C C T C C C C C C T
S01 2506 G A G G A G G G G G G A
S01 2520 G A G G A G G G G G G A
S01 2600 G A G G A G G G G G G A
S15 7693 C T C C T C C C C C C T
S20 9851 A G G G G G G G G G G G
Je voudrai accoler à la suite de chaque ligne du fichier_1 la ligne correspondante du fichier_2, c'est à dire: si "Scaffold Position" du fichier_1 == "CHROM POS" du fichier_2 alors output:
- - G 10 8 3 A 0 1 12 S01 2506 G A G G A G G G G G G A
j'ai essayé ceci en python:
for m in fichier_1:
if "Scaffold" in m:
pass
if "Position" in m:
pass
for n in fichier_2:
if "CHROM" in n:
pass
if "POS" in n:
pass
else:
fichier_1_Scaffold_Pos=[]
fichier_2_Scaffold_Pos=[]
for i in fichier_1:
spt_1=i.split("\t")
var = spt_1[10] + spt_1[11]
#print spt_1
fichier_1_Scaffold_Pos.append(var)
#print fichier_1_Scaffold_Pos
for k in fichier_2:
spt_2=k.split("\t")
var2 = spt_2[0] + spt_2[1]
#print var2
fichier_2_Scaffold_Pos.append(var)
#print fichier_2_Scaffold_Pos
for j in fichier_2_Scaffold_Pos.append:
#print j
for p in fichier_1_Scaffold_Pos.append:
if j==p:
for x in fichier_2:
for y in fichier_1:
print y + x
Mais bien sûr ça ne marche pas, j'ai cherché trop compliqué comem d'habitude!!!
un premier problème que j'ai c'est le split, je voudrais récupérer les colonnes comme ceci:" S01 2506" mais avec mon split j'ai: "S012506" parce que ce que je recherche ensuite c'est si "S01 2506" du fichier_1 est retrouvé dans le fichier_2 alors print la totalité de la ligne du fichier_1 suivie de la ligne du fichier_2
Je ne sais pas si je suis bien claire, j'avoue que je débute et j'ai le cerveau un peu fatigué après une journée sur mon script :/
Merci d'avance de votre aide ;)
A voir également:
- Split et "merge"
- Split cam - Télécharger - Messagerie
- Mkv merge - Télécharger - Montage & Édition
- Merge mp3 - Télécharger - Audio & Musique
- Araxis merge - Télécharger - Gestion de fichiers
- Merge pdf - Télécharger - PDF
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/