Python,在CSV文件中写一个新行

时间:2016-11-01 15:06:10

标签: python csv line

我正在研究一个需要一些的Python脚本 来自网站的天气信息,并每天将其放入CSV文件中。

我想在下面添加新信息,而不是直接在其后面。

这是我的CSV-Append-Function:

ToggleButton

我得到了什么:

def save_data(weatherdatasaved):
filename = "weather.csv"
header="Datum;Luft-Min;Luft-Max;Durchschn.Wassertemp;Barometer"+"\n"
#Check whether the file exists
if(os.path.exists(os.path.expanduser(filename))==False):
    file = open(os.path.expanduser(filename),"wb")
    file.write(bytes(header, encoding="ascii",errors="ignore"))
    file.close()

file = open(os.path.expanduser(filename),"a")
i=0
while (i < len(weatherdatasaved)):
    if((i+1)==len(weatherdatasaved):
       file.write(weatherdatasaved[i]+"\n")
    else:
        file.write(weatherdatasaved[i]+";")
    i+=1
file.close()

我想要的是什么:

Datum;Luft-Min;Luft-Max;Durchschn.Wassertemp;Barometer01.11.2016;9.5;6.8;12;1023.2

有人能帮助我吗? 非常感谢。

2 个答案:

答案 0 :(得分:0)

尝试使用&#34; \ r \ n&#34;取代&#34; \ n&#34;

答案 1 :(得分:0)

为了使用不同的操作系统,您可以使用os.linebreak属性。 例如:

import os

multiline = 'line 1' + os.linesep + 'line 2'

在您的情况下,将所有\n替换为os.linesep