繁体   English   中英

写入csv后python中意外的换行

[英]unexpected line breaks in python after writing to csv

我有一个从服务器更新CSV的代码。 它使用以下方法获取数据:

a = urllib.urlopen(url)
data = a.read().strip()

然后我将数据附加到csv

f = open(filename+".csv", "ab")
f.write(ndata)
f.close()

问题是随机地,csv中的一行是这样写的(或在csv的某处出现换行):

2,,,,,
015-04-21 13:00:00,18,998,50,31,2293

而不是通常的形式:

2015-04-21 13:00:00,6,1007,29,25,2394
2015-04-21 13:00:00,7,1004,47,26,2522

程序运行后,我尝试在shell中打印数据,这表明损坏的csv条目实际上看起来是正常的。

希望你们能帮助我。 谢谢。

在win8.1上运行python 2.7.9

对您的“ ndata”变量执行什么操作?

您应该使用csv模块来管理CSV文件: https : //docs.python.org/2/library/csv.html

评论后编辑:

如果您不想使用我链接到您的“ csv”模块,而不是

a = urllib.urlopen(url)
data = a.read().strip()
ndata = data.split('\n')
f.write('\n'.join(ndata[1:]))

你应该做这个 :

a = urllib.urlopen(url)
f.writelines(a.readlines()[1:])

如果您确定输入的数据正确无误,那么我看不出任何理由来解释您的随机不必要的“ \\ n”。 你管理很长的线吗? 我建议您使用csv模块读取您的输入内容:如果您输入的内容正确,则请确保具有有效的CSV内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM