2015-01-30 2 views
0

으로 csv 파일 행에 어떤 값을 기록 나는 열두 값을 각각 나열을 많이 가지고 [ "0.0065", "0.0014", ..., "0.0851"] . . . [ "0.0151", "0.0512", ..., "0.00917"각각의리스트는 I이 연락하고 싶은 9, 7, 4, 2 같은있는 ID 번호 ...파이썬 2.0.7, 행

을 갖는다

행 하여 csv 파일의 행 목록 (우리는 Excel에서 CSV 파일을 참조하는 경우 각 행 (12 개) 값을 가지고 있으며, 각 행은 ID_NUMBER를 나타냅니다)

는 는 실행하면 그냥

if existed_id != cur_id: 
     cur_ id = existed_id 
     value_list.append("/n") 
     with open ('outcome.csv', 'w') as csvfile: 
       g = csv.writer(csvfile, delimiter = ',') 
       data = value_list 
       g.writerow(data) 

처럼 코딩

, 그것은이다 내 CSV 파일에 완전히 쓰여져 있지 않습니다. 무슨 일있어?

+0

'value_list.append ("/ n")'- 개행 문자는 백 슬래시로 쓰여졌지만 어쨌든'csv.writer'는 쓴 줄에 개행 문자를 가져서는 안됩니다. – eumiro

+0

답장을 보내 주셔서 감사합니다.하지만 원하는대로 내 결과를 얻는 방법을 설명해 주시겠습니까? –

답변

0

당신의 records는 목록의 목록 OD 문자열 인 경우 : (

with open('outcome.csv', 'w') as csvfile: 
    g = csv.writer(csvfile, delimiter=',') 
    for record in records: 
     g.writerow(data) 

with open... 라인은 새로운 파일을 생성 : 다음

records = [["0.0051", "-0.0351", ..., "0.0325"], 
      ["0.0065", "0.0014", ..., "0.0851"], 
      . . . 
      ["0.0151", "0.0512", ... , "0.00917"]` 

len(records) 라인 CSV 파일을 작성합니다 다음 코드 아마도 기존 파일을 덮어 씁니다.) 그래서 마지막 레코드 만이 파일에 저장되기 때문에 레코드 위에 루프에 넣지 않도록하십시오.

관련 문제