Я работаю над Python-Script, который обрабатывает информацию о погоде с сайта и помещает его в CSV-файл каждый день.Python, напишите новую строку в CSV-файле
Я хочу добавить новую информацию ниже, а не непосредственно позади нее.
Это мой CSV-Append-Function:
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
Что я хочу:
Max;Durchschn.Wassertemp;Barometer
01.11.2016;9.5;6.8;12;1023.2
Может кто-нибудь мне помочь? Большое спасибо.
Как CSV, вы не должны иметь это как разделенное запятыми, а не разделяемое двоеточием? – ugoano
@ugano, к сожалению, нет соглашения о том, как файлы CSV отформатированы. Поэтому вы можете использовать все, что захотите. @derMatt Вы работаете в Windows или Linux? Я подозреваю, что ваши строки * заканчиваются на '\ n', но ваш редактор не разбивает строку при просмотре файла. – swenzel
Я не слишком хорошо знаком с классом 'bytes', но я подозреваю, что проблема в этой строке. можете ли вы просто написать заголовок без каких-либо дополнительных аргументов? – Repiklis