讀取一個五百行的csv文件,依次打開每行中的url,並依據打開的結果對每個url進行分類,有D、H、U、B、N五類,剛好也在學習Python,就想自己寫個半自動化的腳本(所謂半自動化是因爲type還得自己輸入然後敲回車)以省去“複製url——粘貼到瀏覽器地址欄——回車”這三步操作。最後輸出一個名爲“501-1000”的csv文件。
代碼現貼在下面。
# -*- coding: utf-8 -*-
"""
Created on Wed Apr 19 12:25:04 2017
@author: lewiskoo
"""
import pandas as pd
import webbrowser
data_df = pd.read_csv('1.csv')
n = 0
chromePath = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
webbrowser.register('chrome', None, webbrowser.BackgroundBrowser(chromePath)) #register the webbrowser to openup pages
while n < 5:
print('~~~~~~~~~~No. %d is processing~~~~~~~~~~~~~' %n)
print('D1 H2 U3 B4 N5')
webbrowser.get('chrome').open_new_tab(data_df.name[n]) #use chrome to open pages
i = int(input('which type?'))
if i == 0:
break
elif i == 1:
data_df.type[n] = 'D'
elif i == 2:
data_df.type[n] = 'H'
elif i == 3:
data_df.type[n] = 'U'
elif i == 4:
data_df.type[n] = 'B'
elif i == 5:
data_df.type[n] = 'N'
else:
data_df.type[n] = i
print('type of No.%d is decided' %n)
n += 1
data_df.to_csv('501-1000.csv') #output the df into a csv file
print('All the stuff is done and the csv is written.')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
寫的很不Pythonic,也有些小bug。但作爲初學者,自我感覺能用起來,就是很大的進步了。
順手記錄下自己的經驗教訓:
test以及本地保存多版本的重要性,最開始腳本寫的更爲簡單甚至簡陋,能滿足基本功能,然後就想怎麼搞得炫一點,然後手賤改了幾個地方沒test,最後輸完500個值發現並沒有保存在dataframe中,瞬間爆炸,幸好history記錄的有一定數據。所以無論DDL多麼緊,一旦打算使用程序進行自動化操作,一定得確保基本功能的可靠。
需要持續鍛鍊自己搜索信息的能力,就像以前專業課做課程設計找參考資料一樣,不同類型的資料需要不同方法去找,代碼就在github、簡書、CSDN等網站上搜,算法就通過Google Scholar或者知網搜。使用google是種能力,快速找到自己想要的信息也是件不容易辦到的事。
代碼得常寫,我葛優躺一般癱在辦公椅上機械地敲type類型的時候,老覺得自己哪個地方好像沒寫對(事後證明果然出問題了)。如果沒有經常寫經常debug,很難對自己的代碼水平有自信,要誤事的。