[英]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.