2012-10-15 2 views
0

저는 파이썬 csv 라이브러리를 사용하여 csv 파일을 작성하는 데 어려움을 겪고 있습니다. Django를 사용하여 정보를 데이터베이스 외부의 객체로 가져 왔습니다. 내가 지금 무엇을 가지고파이썬 작성 csv Django for 루프

는 작동하지만 아직 완료되지 않은 :

writer.writerow([Itag.Gen_ID if Itag else '', 
    Itag.Solyc if Itag else '', 
    Itag.GO_number if Itag else '', 
    Itag.GO_def if Itag else '', 
    Itag.Itag_description if Itag else '', 
    Itag.IPR_Number if Itag else '', 
    Itag.IPR_Description if Itag else '', 
    Itag.Trivial_name if Itag else '', 
    Loci.Locus_symbol if Loci else '', 
    Loci.Locus_name if Loci else '',]) 

이것은 존재하는 물체가있는 경우 CSV 파일로 오브젝트 정보를 멀리 씁니다. 이제 다음 부분에서 나는 Blast는 몇 가지 속성을 가지고, Blast라는 개체가 : 는 Blast.name, Blast.hit, Blast.score 개체 Itag는 모든 행에 잘 맞는 이유 Loci 한 관계에 하나 있습니다.

이제 Blast 객체는 그래서 5 Blast 안타 1 개 Itag and Loci 히트와의 관계를 가질 수 ItagLoci 한 관계에 많은있다.

이제 모든 5 Blast 개체 속성을 CSV 파일의 같은 행에 쓰려면 어떻게해야합니까?

답변

0

이 어수선한이고 있지만, 가장 확실한 해결책은 라인에 안타를 추가하는 것입니다

<all that other stuff>, first_blast_name, first_blast_hit, first_blast_score, second_blast_name, second...<and so on> 

는 개인적으로 내가 이제까지 경우, 이런 식으로하지 않는다 거의 것입니다. 차라리 loci에 대해 하나의 CSV 파일을 갖고, blast에 대해 하나의 CSV 파일을 갖고 싶습니다.

+0

문제는 여기에 얼마나 많은 폭발이 있었는지 알 수 없기 때문에 행에 추가하는 것이 좋습니다. – Henkes

+0

당신은 다른 물건들을 지나치면 폭발적인 히트가 있다는 것을 알고 있습니다. 그래서 계속 추가하십시오. 또는 폭발 파일을 별도로 보관하십시오. 여기서 뭐가 문제 야? –

+0

네, 다른 것들 뒤에는 폭발적인 히트가 있습니다. 별도의 폭발 파일은 가능하지만 내 문제의 좋은 해결책은 아닙니다. 어떻게하면 추가 할 수 있습니까? 내가 얼마나 많은 돌풍을 치는지 모르겠다면? 또 다른'writer.writerow()'는 새로운 라인을 만들기 때문에 작동하지 않을 것입니다. 어떻게 그 줄에 모든 객체 속성을 추가합니까? – Henkes