How write csv file without new line character in last line?

2024/9/29 9:25:10

I have a code like this to write csv file in python

import csv
with open('eggs.csv', 'wb') as csvfile:spamwriter = csv.writer(csvfile, delimiter=' ',quotechar='|', quoting=csv.QUOTE_MINIMAL)spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])

output in image

output shown in in image. Now there is an extra line in output (line 3). How can i remove this last empty line while writing csv file.

Answer

Use file.seek to move file pointer before the last \r\n, then use file.truncate.

import os
import csvwith open('eggs.csv', 'wb') as csvfile:spamwriter = csv.writer(csvfile, delimiter=' ',quotechar='|', quoting=csv.QUOTE_MINIMAL)spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])csvfile.seek(-2, os.SEEK_END) # <---- 2 : len('\r\n')csvfile.truncate()            # <----

NOTE: You should change -2 if you use different lineterminator. I used -2 because \r\n is default lineterminator.

https://en.xdnf.cn/q/71223.html

Related Q&A

Getting tests to parallelize using nose in python

I have a directory with lots of .py files (say test_1.py, test_2.py and so on) Each one of them is written properly to be used with nose. So when I run nosetests script, it finds all the tests in all t…

Python IDLE is not starting on Windows 7

I used to use Python 2.7 and then IDLE was working. I uninstalled it and installed Python 3.1. Right now Idle cannot launch. What should i do to get it running?NOTE: I tried c:\Python31\pythonw.exe c:…

SocketIO + Flask Detect Disconnect

I had a different question here, but realized it simplifies to this: How do you detect when a client disconnects (closes their page or clicks a link) from a page (in other words, the socket connection …

Numpy Array Broadcasting with different dimensions

I a little confused by the broadcasting rules of numpy. Suppose you want to perform an axis-wise scalar product of a higher dimension array to reduce the array dimension by one (basically to perform a …

xml filtering with python

I have a following xml document:<node0><node1><node2 a1="x1"> ... </node2><node2 a1="x2"> ... </node2><node2 a1="x1"> ... </no…

What it really is @client.event? discord.py

A few days ago I became interested in programming discord bots a bit. In the syntax of these programs I noticed a lot of unintelligible issues that I can not find an answer to. Thats why I am asking y…

How to customize virtualenv shell prompt

How do you define a custom prompt to use when activating a Python virtual environment?I have a bash script for activating a virtualenv I use when calling specific Fabric commands. I want the shell pro…

How to get the percent change of values in a dataframe while caring about NaN values?

I have the following DataFrame:Date A 2015-01-01 10 2015-01-02 14 2015-01-05 NaN 2015-01-06 …

Convert CSV to YAML, with Unicode?

Im trying to convert a CSV file, containing Unicode strings, to a YAML file using Python 3.4.Currently, the YAML parser escapes my Unicode text into an ASCII string. I want the YAML parser to export t…

Why is the divide and conquer method of computing factorials so fast for large ints? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, argum…