我试图从我的硬盘上的超过1200个.htm文件中删除行。在我的电脑上,他们在这里'file:///home/phi/Data/NHL/pl07-08/PL020001.HTM'。这些.htm文件从20001.htm开始依次为 21230.htm。我的计划是最终通过电子表格应用程序在MySQL或SQLite中抛出数据,或者直接从这个过程中获得一个干净的.csv文件。
这是我第一次尝试代码(Python),并且在我的蹩脚的Pentium IV上安装了Ubuntu 9.04。不用说我是新手,并且有一些障碍。
我如何才能机械化地浏览目录中的所有文件。甚至可以做到这一点机械化?可以机械化/ Python/BeautifulSoup读取'file:///'样式的url或者有另一种方法将其指向/home/phi/Data/NHL/pl07-08/PL020001.HTM?以100或250个文件增量执行此操作,还是只发送全部1230个文件?
我只需要以“
”开头的行,并以“”结尾。理想情况下,我只想要包含“SHOT”|“MISS”|“GOAL”的行,但我想要整行(每列)。请注意,“GOAL”以粗体显示,因此我必须指定此项?每个htm文件有3个表格。另外我希望将父文件(pl020001.htm)的名称包含在我刮的行中,以便我可以在最终数据库的自己的列中标识它们。我甚至不知道该从哪里开始。这是我到目前为止:
#/usr/bin/python
from BeautifulSoup import BeautifulSoup
import re
from mechanize import Browser
mech = Browser()
url = "file:///home/phi/Data/NHL/pl07-08/PL020001.HTM"
##but how do I do multiple urls/files? PL02*.HTM?
page = mech.open(url)
html = page.read()
soup = BeautifulSoup(html)
##this confuses me and seems redundant
pl = open("input_file.html","r")
chances = open("chancesforsql.csv,"w")
table = soup.find("table", border=0)
for row in table.findAll 'tr class="evenColor"'
#should I do this instead of before?
outfile = open("shooting.csv", "w")
##how do I end it?我应该使用IDLE还是类似的?只是终端在Ubuntu 9.04?