python - csv.writerows() puts newline after each row -


this example o'reilly cookbook (truncated dataset)

headers = ['symbol','price','date','time','change','volume'] rows = [{'symbol': 'aa', 'volume': 181800, 'change': -0.18,          'time': '9:36am', 'date': '6/11/2007', 'price': 39.48},         {'symbol': 'aig', 'volume': 195500, 'change': -0.15,          'time': '9:36am', 'date': '6/11/2007', 'price': 71.38} ]  open('stocks2.csv','w') f:     f_csv = csv.dictwriter(f, headers)     f_csv.writeheader()     f_csv.writerows(rows) 

the output file has \n @ end of each line, , apparently 1 more @ end. when bring excel, blank lines between each row. same if open notepad++.

but, if more if command line, \n don't show up.

i saw q&a \n @ end of file - 1 \n @ end of each line. (and don't see why more doesn't give \n.)

i plan bring file openoffice calc.

this problem occurs python on windows.

in python v3, need add newline='' in open call per:

python 3.3 csv.writer writes blank rows

on python v2, need open file binary "b" in open() call before passing csv

changing line

with open('stocks2.csv','w') f: 

to:

with open('stocks2.csv','wb') f: 

will fix problem

more info issue here:

csv in python adding carriage return


Comments

Popular posts from this blog

PHP DOM loadHTML() method unusual warning -

python - How to create jsonb index using GIN on SQLAlchemy? -

c# - TransactionScope not rolling back although no complete() is called -