2011-09-14 3 views
0

私はPythonをlernし、htmlテーブル用のparcerを実行しようとすると、インポートデータ用の.csvファイルを作成しませんmySQL。Python。どのようにエラーを修正するには: "print tablecsv.read()AttributeError: 'タプル'オブジェクトに属性 '読み取り'がありません

>>> htmlread = handlestatbydate.read() 
>>> soup = BeautifulSoup("".join(htmlread)) 
>>> souptable = soup('tbody', limit=2)[1].findAll('tr') 
>>> souptablestr = ''.join(str(t) for t in souptable) 
>>> reclearbyonce = re.compile('</tr><tr>\n|^<tr>\n|</tr>$') 
>>> recleartd = re.compile(r'</td>|<td.*?>') 
>>> retdtd = re.compile('""| ') 
>>> soupclearbyonce = reclearbyonce.sub('', souptablestr) 
>>> soupcleartd = recleartd.sub('"', soupclearbyonce) 
>>> souptdtd = retdtd.sub('","', soupcleartd) 
>>> print souptdtd 
"59","00059413","00059413","70000000001","2011-08-22","18:01:48","0:07","0.45" 
"60","00059413","00059413","70000000002","2011-08-22","18:49:48","0:43","1.95" 
"61","00059413","00059413","70000000003","2011-08-22","18:52:50","5:07","11.70" 
"62","00059413","00059413","70000000003","2011-08-22","19:02:47","4:10","9.75" 

次に、csvファイルを作成してエラーが発生しました。

>>> tablecsv = file(r'/tmp/table.csv', 'w') 
>>> tablecsv.write("".join(souptdtd)) 
>>> tablecsv = (r'/tmp/table.csv', 'r') 
>>> print tablecsv.read() 

    print tablecsv.read() 
AttributeError: 'tuple' object has no attribute 'read 

残念ながら、タプルをいつ、どのように作成できるのかはわかりません。私が間違っていて、それを修正する方法を教えてもらえますか?

+0

Omg ... shure。私は寝る、愚かなエラー=)たくさんありがとう! – Abdus

答えて

0

あなたがここにメソッド名見逃している:あなたはおそらくtablecsv = open(r'/tmp/table.csv', 'r')

.egファイルを開きたい。すなわち、あなただけの持っている場合あなたはまた、tablecsv.close()

でそれから読む前に書き込んだ後、ファイルを閉じる必要がありtablecsv = (r'/tmp/table.csv', 'r')を括弧内の項目のリスト(r'/tmp/table.csv', 'r')これはタプルを作成します。