Colton Fitzjarrald
Colton Fitzjarrald

Reputation: 43

Why isn't my csv file reading and writing correctly?

I have a csv file that consists of 3 elements per list. I'm trying to make the first element of each list a nested list of string elements that I can easily search through. I can't get my code to print out my results, and therefore I don't know if I've actually correctly rewritten the csv file.

with open('trump_tweets_proto.csv', 'w+') as file:
    contents = csv.reader(file)
    contents2 = csv.writer(file)
    for row in contents:
        for info in row:
            contents2.writerow(row[0].split())
            print(row[0])

Upvotes: 0

Views: 44

Answers (1)

Tim Pietzcker
Tim Pietzcker

Reputation: 336238

You can't have a reader and writer object open on the same file at the same time. Or if you can, you certainly can't use both simultaneously and not mess up your file.

Open the file for reading (and be sure to look at the csv module documentation on how to open a csv file correctly, you're missing the newline parameter and probably should specify an encoding as well).

Open another (temporary) file for writing, and then copy the temp file over the old file. Or do everyting in memory with the first file, then open the file for writing and write the new data directly.

Upvotes: 2

Related Questions