Tôi cần phải kết hợp các dòng trong hai tệp, căn cứ vào điều kiện, trong dòng của một trong các tệp là một phần của dòng của tệp thứ hai.Làm thế nào để kết hợp các dòng trong hai tập tin với điều kiện trong python?
Một phần của tập tin đầu tiên:
12319000 -64,7357668067227 -0,1111052148685535 12319000 -79,68527661064425 -0,13231739777754026 12319000 -94,69642857142858 -0,15117839559513543 12319000 -109,59301470588237 -0,18277783185642743 12319001 99,70264355742297 0,48329515727315125 12319001 84,61113445378152 0,4060446341409862 12319001 69,7032037815126 0,29803063228455073 12319001 54,93886554621849 0,20958105041136763 12319001 39,937394957983194 0,13623056582981297 12319001 25,05574229691877 0,07748669438398018 12319001 9,99716386554622 0,028110643107892755
Một phần của tập tin thứ hai:
12319000.abf mutant 1 12319001.abf mutant 2 12319002.abf mutant 3
tôi cần phải tạo một tập tin, nơi dòng bao gồm này: tất cả các dòng từ tệp đầu tiên và mọi thứ từ dòng thứ hai. ngoại trừ tên tệp trong cột đầu tiên.
Như bạn có thể thấy, có nhiều hơn một dòng trong tệp đầu tiên, cooresponding vào một dòng trong tệp thứ hai. Tôi cần hoạt động đó được thực hiện với mỗi dòng, vì vậy sản lượng nên được như thế này:
12319000 -94,69642857142858 -0,15117839559513543 mutant 1 12319000 -109,59301470588237 -0,18277783185642743 mutant 1 12319001 99,70264355742297 0,48329515727315125 mutant 2 12319001 84,61113445378152 0,4060446341409862 mutant 2
Tôi đã viết mã này:
oocytes = open(file_with_oocytes, 'r')
results = open(os.path.join(path, 'results.csv'), 'r')
results_new = open(os.path.join(path, 'results_with_oocytes.csv'), 'w')
for line in results:
for lines in oocytes:
if lines[0:7] in line:
print line + lines[12:]
Nhưng nó in ra này, và không có gì hơn, thow có 45 dòng trong tập tin đầu tiên:
12319000 99,4952380952381 0,3011778623990699 mutant 1 12319000 99,4952380952381 0,3011778623990699 mutant 2 12319000 99,4952380952381 0,3011778623990699 mutant 3
Điều gì sai với mã? Hoặc nó nên được thực hiện bằng cách nào đó hoàn toàn khác nhau?
+1 để bao gồm mã bạn đã thử – bernie
Các tệp có theo thứ tự trên cột đầu tiên không? Đáng tin cậy như vậy? – MattH
Các tệp có 'nhỏ' không? Tức là, họ có thể được đọc và giữ trong bộ nhớ cùng một lúc không? –