2014-11-19 1 views
1

나는 40 행과 34 열이있는 수백 개의 .csv 파일이 있습니다. 26 열에 열을 추가하고 26 열 ~ 34 열은 새 열의 공간을 만들기 위해 이동해야합니다. 파일의 첫 번째 행은 비어 있고 두 번째 행에는 제목이 있고 나머지에는 값이 있습니다. 새 열은 두 번째 행에 제목이 있어야하고 나머지 행은 0 일 수 있습니다. 이 코드는 파이썬으로 도와주세요. 파이썬 목록에 삽입파이썬을 사용하여 csv에 열 추가

import csv 

infilename = r'C:\Users\Sulabh Kumra\Desktop\input.csv' 
outfilename = r'C:\Users\Sulabh Kumra\Desktop\output.csv' 

with open(infilename, 'rb') as fp_in, open(outfilename, 'wb') as fp_out: 
    reader = csv.reader(fp_in, delimiter=",") 
    headers = next(reader) # read first row 

    writer = csv.writer(fp_out, delimiter=",") 
    writer.writerow(headers) 

    for row in reader: 
     row.append(row[2]) 
     writer.writerow(row) 
+0

CSV 가져 오기 infilename = r'C : \ 사용자 Sulabh을 \ (infilename, 'rb')를 fp_in으로 설정하고, (outfilename, 'wb')을 (를) 열고 (outfilename, 'wb')로 설정하십시오. outfilename = r'C : \ Users \ Sulabh Kumra \ Desktop \ output.csv ' fp_out :,리더 = csv.reader (fp_in, 구분자 = "") = 다음 헤더 (리더) # 1 (구분자 = ""fp_out)의 첫 번째 행을 writer.writerow (헤더)를 라이터 = csv.writer 읽기 리더 행의 경우 : row.append (row [2]) writer.writerow (row) –

+1

원래 질문에서 삭제하십시오. :) – Celeo

+0

나는 csv에 Python을 처음 사용합니다. –

답변

0

매우 간단합니다 : some_list[2:2] = ['stuff','to','insert']

그래서 코드의 모습 다음

import csv 

infilename = r'C:\Users\Sulabh Kumra\Desktop\input.csv' 
outfilename = r'C:\Users\Sulabh Kumra\Desktop\output.csv' 

with open(infilename, 'rb') as fp_in, open(outfilename, 'wb') as fp_out: 
    reader = csv.reader(fp_in, delimiter=",") 
    writer = csv.writer(fp_out, delimiter=",") 

    blank_line = next(reader) 
    writer.writerow(blank_line) 

    headers = next(reader) # read title row 

    headers[26:26] = ['New Label'] 

    writer.writerow(headers) 

    for row in reader: 
     row[26:26] = [0] 
     writer.writerow(row) 
+0

고맙습니다. 이 코드를 이해할 수 있으며 의미가 있습니다. 역 추적 (마지막으로 가장 최근 통화) : –

+0

를 정의되지 않은 이름이 '작가', 9 호선, writer.writerow (BLANK_LINE) 나가서 설명하자면 NameError에 "/ Python27/addcol C" 파일 그러나 다음과 같은 오류를 제공합니다 미안 해요. 작가 초기화는 일찍 일어나지 않았습니다. –

+0

감사합니다. 지금 일하고있다. :) –

관련 문제