2014-12-03 3 views
0

나는 (따옴표) 다음과 같은 형식의 데이터를 가지고하려고 해요 :파이썬에서 머리말없이 csv 목록 사전을 내보내는 방법?

1)) CSV 2로 내보내기 파일에 헤더를 추가

{ 
9: [[0, 0, 'ABC'], [1, 2, 'DE'F'], [3, 4, 'GHI']], 
11: [[9, 30, 'LEOPAR'D'], [17, 28, 'DOG'], [19, 43, 'APP'LE']] 
} 

데이터가 보일 것입니다 이 같은 :

따옴표도 같이 올라오고있다
Field1 Field2 Field3 Field4 
9  0  0  ABC 
9  1  2  DE'F 
9  3  4  GHI 
11  9  30  LEOPAR'D 

'\의 가족 구성원과'

나는 약 9 가진 파일이 00 키가 필요하므로 명시 적으로 호출하는 대신 키를 호출하는 동적 방법이 필요합니다. 나는 다음과 같은 코드로 'sequence expected'오류를 시도했다. 이상적으로, 나는 그것이 연관된 각 행에 대해 csv 파일에서 '9'를 반복하고 싶습니다.

writefile = filepath 
fieldnames = {'data1':['data2', 'data3', 'data4']} 
with open(writefile, 'w') as f: 
    writer = csv.writer(f) 
    writer.writerow(fieldnames) 
    writer.writerows(section_num_by_paragraph_num) 
+0

예제 CSV는 어떻게 표시되어야합니까? – Jasper

+0

@ Jasper가 출력물을 반영하도록 포럼을 업데이트했습니다. – user2945830

답변

0

나를 위해 다음 작품,하지만 난

그래서 난 키

를 호출하는 동적 인 방법이 필요에 의해 당신이 무슨 뜻인지 이해하지 못하는 경우 구체적하세요 아래 코드는 당신이 원하는 것을하지 않습니다.

import csv 

data = { 
     9: [[0, 0, 'ABC'], [1, 2, 'DE"F'], [3, 4, 'GHI']], 
     11: [[9, 30, 'LEOPAR"D'], [17, 28, 'DOG'], [19, 43, 'APP"LE']] 
     } 


fieldnames = ['Field{}'.format(i) for i in range(1,5)] 

with open('outfile', 'w') as f: 
    writer = csv.writer(f, delimiter='\t', quoting=csv.QUOTE_NONE, escapechar='\\', quotechar="") 
    writer.writerow(fieldnames) 
    for k, vv in data.items(): 
     for v in vv: 
      writer.writerow([k] + v) 
관련 문제