2017-06-14 22 views
0

私は実際にWebサイトからテーブルを拝借しているコードを書き、CSVファイルにインポートします。私の質問は、どのように私は新しい列を作成し、この列(データがある間)のすべてのセルに実際の日付を入れることができますです。ここでPythonでのcsvの日付時刻

は私のコードです:

私は入れていると私は、正しい結果を得るために、私の日付コードに変更する必要がどのような
import urllib2 
from bs4 import BeautifulSoup 
import unicodecsv as csv 
import os 
import sys 
import io 
import time 
import datetime 

filename=r'output.csv' 

resultcsv=open(filename,"wb") 
output=csv.writer(resultcsv, delimiter=';',quotechar = '"', quoting=csv.QUOTE_NONNUMERIC, encoding='latin-1') 
header = ['Pénznem', 'Devizanév','Egység','Pénznem_Forintban', 'Dátum'] 
output.writerow(header) 

def make_soup(url): 
    thepage = urllib2.urlopen(url) 
    soupdata = BeautifulSoup(thepage, "html.parser") 
    return soupdata 

def to_2d(l,n): 
    return [l[i:i+n] for i in range(0, len(l), n)] 

soup=make_soup("https://www.mnb.hu/arfolyamok") 

datatable=[] 
for record in soup.findAll('tr'): 
    for data in record.findAll('td'): 
     datatable.append(data.text) 
maindatatable = to_2d(datatable, 4) 

output.writerows(maindatatable) 

resultcsv.close() 

print maindatatable 

now = time.strftime('%d-%m-%Y') 
ido = to_2d(now, 5) 
output.writerows(ido) 
+0

つもりですか? –

+0

私は4つの列を持っているので、私はウェブサイト(そのテーブル)から掻き集めているので、私は実際にすべての行に日付を書くことができます。 – tardos93

答えて

1

あなたのコードの末尾にこれを追加:あなたは、既存のものにデータを「追加」する

import pandas as pd 
df = pd.DataFrame(maindatatable) 
now = time.strftime('%d-%m-%Y') 
df['date'] = now 
df.columns = header 
df.to_csv(filename, sep=';', encoding='utf-8', index=False) 
+0

は、私は、このエラーメッセージが表示されます: 「トレースバック(最後の最新の呼び出し): ファイル "C:\ Python27 \ prohardver.py"、ライン49を、 df.to_csv( 'output2.csv' で、9月=」 ; '、encoding =' utf-8 '、index = False) ファイル「C:¥Python27¥lib¥site-packages¥pandas¥core¥frame.py」1403行目to_csv formatter.save() ファイル "C:¥Python27¥lib¥site-packages¥pandas¥io¥formats¥format.py"、行1586、保存中 self._save() ファイル "C:\ Python27 \ lib \ site-packages \ pandas \\ io \ formats \ format.py "、行1673、 – tardos93

+0

in _save self._save_header() ファイル" C:\ Python27 \ lib \ site-packages \ pandas \ io \ formats \ format.py "、行1641、 in _save _header writer.writerow(encoded_labels) ファイル "C:¥Python27¥lib¥site-packages¥pandas¥io¥common.py" 527行目writerow data = data.decode( "utf-8") return codecs.utf_8_decode(input、errors、True) UnicodeDecodeError: 'utf8'コーデックは、位置1のバイト0xe9をデコードできません:ファイル "C:\ Python27 \ lib \ encodings \ utf_8.py"無効な継続バイト " – tardos93

+0

ええ、それは私のためにローカルに動作します。エンコーディング= 'utf-8'をencoding = 'ISO-8859-1'に変更してみてください – Stergios