如何通过网络清理将表数据从网站写入CSV

时间:2019-04-30 04:18:14

标签: python csv web-scraping html-table beautifulsoup

我是网络抓取的新手,我试图在登录后从网站抓取表格数据。我希望将第二列乘以10。

当前表正在写入csv,但我实际上要工作的是将第二列乘以10并写入csv

我尝试过的是:

r2=session.post("http://www.example.com")
soup = BeautifulSoup(r2.text, "html.parser")
        csvFile=open('Table.csv','w')
        output = csv.writer(csvFile)
        for table in soup.find_all('table')[5:]:
            for row in table.find_all('tr'):
                col = map(cell_text, row.find_all(re.compile('t[dh]')))
                output.writerow(col)
            output.writerow([])
        csvFile.close()

例如,如果我的网站中的数据表为:

Time    Pressure   Mass     Temp

0.00    1.01       21       23.09
1.00    2.0908     21.1      10.07
2.0     2.8666     22.3      13.6
0.555   2.6545     2.4       32.56

The data for writing csv file should be:



0.00    10.1       21       23.09
1.00    20.908     21.1      10.07
2.0     28.666     22.3      13.6
0.555   26.545     2.4       32.56

该怎么做?

1 个答案:

答案 0 :(得分:2)

这取决于元素的放置方式,在这里我有解决方案,可以将其应用于csv。

import pandas as pd
df = pd.read_csv("Table.csv")
df.Pressure = df.Pressure * 10
df.to_csv("Table_Updated.csv",index=False)
df.to_csv("DataExport.csv",index=False,header=False) # Store without header