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

Mary-Kate Olsen
Release: 2024-10-21 21:03:30
Original
463 people have browsed it

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

How to Add a New Column to CSV Files in Python

Problem Description

You have several CSV files containing data like this:

Name        Code
blackberry  1
wineberry   2
rasberry    1
blueberry   1
mulberry    2
Copy after login

You want to add a new column named "Berry" to all these files, so that the output will look like this:

Name        Code    Berry
blackberry  1   blackberry
wineberry   2   wineberry
rasberry    1   rasberry
blueberry   1   blueberry
mulberry    2   mulberry
Copy after login

However, your current Python script is not working correctly. It skips every line and populates the new column with only the value "Berry".

Solution

To solve this issue, you need to modify the code to use the next() function instead of row0 = r.next() (for Python 3, use reader = csv.reader(csvinput)). The updated code:

<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>
Copy after login

Notes:

  • The lineterminator parameter is set to 'n' to avoid double spacing in the output file.
  • A list is used to append all the lines and write them in one shot using writerows. This may not be suitable for extremely large files.
  • The two with open statements can be nested in the same line as with open('C:/test/test.csv','r') as csvinput, open('C:/test/output.csv', 'w') as csvoutput:.

The above is the detailed content of How to Fix Python Script that Skips Lines When Adding a New Column to CSV Files?. For more information, please follow other related articles on the PHP Chinese website!

source:php
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template