相关疑难解决方法(0)

Python中的CSV在Windows上添加额外的回车符

在运行Windows XP专业版的Python 2.7中:

import csv
outfile = file('test.csv', 'w')
writer = csv.writer(outfile, delimiter=',', quoting=csv.QUOTE_MINIMAL)
writer.writerow(['hi','dude'])
writer.writerow(['hi2','dude2'])
outfile.close()
Run Code Online (Sandbox Code Playgroud)

它生成一个文件test.csv,每行有一个额外的\ r \n,如下所示:

test.csv

hi,dude\r\r\nhi2,dude2\r\r\n
Run Code Online (Sandbox Code Playgroud)

而不是预期的:

hi,dude\r\nhi2,dude2\r\n
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况,或者这实际上是期望的行为?

python windows csv newline

202
推荐指数
4
解决办法
14万
查看次数

在file.write上禁止换行

写入文本文件时,某些file.write实例后面跟着输出文件中的换行符,而其他实例则没有.我希望,除非我告诉他们发生的换行符.码:

    for doc,wc in wordcounts.items(): 
        out.write(doc)             #this works fine, no linebreak
        for word in wordlist: 
            if word in wc: out.write("\t%d" % wc[word]) #linebreaks appear
            else: out.write("\t0")                      #after each of these
        out.write("\n")        #this line had mixed spaces/tabs
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

更新

我应该从代码粘贴到SO中获取线索.由于某种原因,最后一行中有空格和制表符的混合,因此在TextMate中,它在视觉上出现在"for word ..."循环之外 - 但是解释器将其视为该循环的一部分.将空格转换为制表符解决了这个问题.

感谢您的输入.

python file line-breaks

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

python ×2

csv ×1

file ×1

line-breaks ×1

newline ×1

windows ×1