>  기사  >  백엔드 개발  >  CSV 파일에 새 열을 추가할 때 줄을 건너뛰는 Python 스크립트를 수정하는 방법은 무엇입니까?

CSV 파일에 새 열을 추가할 때 줄을 건너뛰는 Python 스크립트를 수정하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-21 21:03:30376검색

How to Fix Python Script that Skips Lines When Adding a New Column to CSV Files?

Python에서 CSV 파일에 새 열을 추가하는 방법

문제 설명

다음과 같은 데이터가 포함된 CSV 파일이 여러 개 있습니다.

Name        Code
blackberry  1
wineberry   2
rasberry    1
blueberry   1
mulberry    2

이러한 모든 파일에 "Berry"라는 새 열을 추가하여 출력이 다음과 같도록 하려고 합니다.

Name        Code    Berry
blackberry  1   blackberry
wineberry   2   wineberry
rasberry    1   rasberry
blueberry   1   blueberry
mulberry    2   mulberry

그러나 현재 Python 스크립트가 올바르게 작동하지 않습니다. . 모든 줄을 건너뛰고 "Berry" 값만으로 새 열을 채웁니다.

해결 방법

이 문제를 해결하려면 대신 next() 함수를 사용하도록 코드를 수정해야 합니다. row0 = r.next()(Python 3의 경우 reader = csv.reader(csvinput) 사용). 업데이트된 코드:

<code class="python">import csv

with open('C:/test/test.csv', 'r') as csvinput:
    with open('C:/test/output.csv', 'w') as csvoutput:
        writer = csv.writer(csvoutput, lineterminator='\n')
        reader = csv.reader(csvinput)

        all = []
        row = next(reader)
        row.append('Berry')
        all.append(row)

        for row in reader:
            row.append(row[0])
            all.append(row)

        writer.writerows(all)</code>

참고:

  • lineterminator 매개변수는 출력 파일에서 이중 공백을 방지하기 위해 'n'으로 설정됩니다.
  • 목록 모든 줄을 추가하고 writerows를 사용하여 한 번에 쓰는 데 사용됩니다. 매우 큰 파일에는 적합하지 않을 수 있습니다.
  • 두 개의 with open 문은 csvinput과 같이 open('C:/test/test.csv','r')과 같은 줄에 중첩될 수 있습니다. open('C:/test/output.csv', 'w') as csvoutput:.

위 내용은 CSV 파일에 새 열을 추가할 때 줄을 건너뛰는 Python 스크립트를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.