私は、ウェブサイトから 気象情報を取り、毎日CSVファイルに入れるPythonスクリプトに取り組んでいます。Python、CSVファイルに新しい行を書く
私は以下の新しい情報を追加したいと思います。
これは私のCSV-追加-機能である:
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