從EXCEL VBA到Python開發第7次上課(抓取開放資料CSV檔&將SQL改寫為查詢蔬菜名稱關鍵字&HTML與CSS基礎與擷取JSON格式&json轉存為CSV檔&xml與用ElementTree解析)
01_重點回顧與抓取開放資料CSV檔
02_安裝requests套件與下載CSV資料
03_用Notepadplus查看特殊字元與切割資料
04_將下載資料寫入到資料庫與查詢
05_將SQL改寫為查詢蔬菜名稱關鍵字
06_HTML與CSS基礎與擷取JSON格式
07_讀取JSON資料與只取values部分
08_json轉存為CSV檔
09_xml與用ElementTree解析
完整教學
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/scu_python111
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著?
出版社:碁峰 出版日期:2016/11/29
Python程式設計入門
作者:葉難
ISBN:9789864340057
出版社:博碩文化
出版日期:2015/04/02
吳老師 109/8/10
EXCEL,VBA,Python,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境

python讀取html檔案 在 [問題] 讀取檔案後使用正規表示法將字串列出- 看板Python 的推薦與評價
小妹為Python超新手,如果問了奇怪的問題,還請大家包涵。
最近在練習在pycharm讀取電腦中的檔案。
檔案內容如下:
Joe's email is [email protected]
Tom's email is [email protected]
檔名:email.txt
pycharm裡的檔案為:
import sys
import os
import re
fp= open("C:\\Users\\haha\\Desktop\\email.txt","r")
text =fp.readlines()
print(text)
for w in text:
sent= re.match(r'([\w.-]+@[\w.-])+',w)
print(sent)
fp.close()
預期會print出來的樣子如下:
[email protected]
[email protected]
但編譯執行後出現的樣子如下:
["Joe's email is [email protected]\n", "Tom's email is [email protected]"]
None
None
<_sre.SRE_Match object at 0x02174960>
想請問版上各位高手是哪個地方出錯了呢?
--
那個…我剛剛發現原因了…
因為正規表示法接受的格式為string,但我從上面的檔案讀的格式是清單(list)
這就是我無法編譯執行的原因…我把清單讀成字串就可以了。
程式如下:
import string
import sys
import os
import re
fp= open("C:\\Users\\haha\\Desktop\\email.txt","r")
text =fp.readlines()
text1=''.join(text)
print(text1)
sent = re.findall(r"[\w.-]+@[\w_.-]+", text1)
print(sent)
fp.close()
感謝各位高手的幫忙^^
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.24.145
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1502193837.A.3C2.html
錯誤如下(以findall為例)
["Joe's email is [email protected]\n", "Tom's email is [email protected]\n", '[email protected]']
Traceback (most recent call last):
File "C:/Users/mlchen/PycharmProjects/untitled/Regular_expression.py", line 21, in <module>
sent = re.findall(r"[\w.-]+@[\w_.-]+", text)
File "C:\Python27\lib\re.py", line 181, in findall
return _compile(pattern, flags).findall(string)
TypeError: expected string or buffer
Process finished with exit code 1
※ 編輯: schedule6666 (36.231.24.145), 08/08/2017 21:08:24
※ 編輯: schedule6666 (36.231.24.145), 08/08/2017 21:27:16
※ 編輯: schedule6666 (36.231.24.145), 08/08/2017 21:28:11
※ 編輯: schedule6666 (36.231.24.145), 08/08/2017 21:30:50
照你的說法,所以我在一開始讀檔案的時候,python是預設將txt檔裡面的東西讀成字串,
然後我要自已讀成list嗎?
第二個問題是,因為我只是練習要用正規表示法去抓e-mail,所以不太懂為什麼要讀
list呢? 才方便做後續動作是指要把資料存在MySQL嗎?
※ 編輯: schedule6666 (36.231.24.145), 08/09/2017 16:07:16
※ 編輯: schedule6666 (36.231.24.145), 08/09/2017 16:09:13
... <看更多>