Skip to content

Commit

Permalink
Chapters 2 and 3
Browse files Browse the repository at this point in the history
  • Loading branch information
Hector Cuesta-Arvizu committed Aug 30, 2013
0 parents commit 7a19832
Show file tree
Hide file tree
Showing 21 changed files with 3,737 additions and 0 deletions.
22 changes: 22 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Auto detect text files and perform LF normalization
* text=auto

# Custom for Visual Studio
*.cs diff=csharp
*.sln merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union

# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
215 changes: 215 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
#################
## Eclipse
#################

*.pydevproject
.project
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.classpath
.settings/
.loadpath

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# CDT-specific
.cproject

# PDT-specific
.buildpath


#################
## Visual Studio
#################

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.sln.docstates

# Build results

[Dd]ebug/
[Rr]elease/
x64/
build/
[Bb]in/
[Oo]bj/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.log
*.scc

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
*.ncrunch*
.*crunch*.local.xml

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.Publish.xml
*.pubxml

# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
#packages/

# Windows Azure Build Output
csx
*.build.csdef

# Windows Store app package directory
AppPackages/

# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.[Pp]ublish.xml
*.pfx
*.publishsettings

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
App_Data/*.mdf
App_Data/*.ldf

#############
## Windows detritus
#############

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Mac crap
.DS_Store


#############
## Python
#############

*.py[co]

# Packages
*.egg
*.egg-info
dist/
build/
eggs/
parts/
var/
sdist/
develop-eggs/
.installed.cfg

# Installer logs
pip-log.txt

# Unit test / coverage reports
.coverage
.tox

#Translations
*.mo

#Mr Developer
.mr.developer.cfg
162 changes: 162 additions & 0 deletions Chapter2/OpenRefineExcelData.csv

Large diffs are not rendered by default.

25 changes: 25 additions & 0 deletions Chapter2/Regex.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import re

#Email Validation
myString = 'From: readers@packt.com (readers email)'
result = re.search('([\w.-]+)@([\w.-]+)', myString)
if result:
print (result.group(0)) ## 'alice-b@google.com' (the whole match)
print (result.group(1)) ## 'alice-b' (the username, group 1)
print (result.group(2)) ## 'google.com' (the host, group 2)

# IP Address Validation
isIP = re.compile('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}')
myString = "Your IP is: 192.168.1.254 "
result = re.findall(isIP,myString)
print(result)


#Date Format
myString = "01/04/2001"
isDate = re.match('[0-1][0-9]\/[0-3][0-9]\/[1-2][0-9]{3}', myString)

if isDate:
print("valid")
else:
print("invalid")
19 changes: 19 additions & 0 deletions Chapter2/WebScraping.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from bs4 import BeautifulSoup
import urllib.request
from time import sleep
from datetime import datetime

def getGoldPrice():
url = "http://gold.org"
req = urllib.request.urlopen(url)
page = req.read()
scraping = BeautifulSoup(page)
price = scraping.findAll("td",attrs={"id":"spotpriceCellAsk"})[0].text
return price


with open("goldPrice.out","w") as f:
for x in range(0,10):
sNow = datetime.now().strftime("%I:%M:%S%p")
f.write("{0}, {1} \n ".format(sNow, getGoldPrice()))
sleep(1)
7 changes: 7 additions & 0 deletions Chapter2/csvReader.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import csv

with open("pokemon.csv") as f:
data = csv.reader(f)
for line in data:
print(" id: {0} , typeTwo: {1}, name: {2}, type: {3}"
.format(line[0],line[1],line[2],line[3]))
8 changes: 8 additions & 0 deletions Chapter2/csvReaderNumpy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import numpy

data = numpy.genfromtxt("pokemon.csv"
,skip_header=1
,dtype=None
,delimiter=',')
print(data)

6 changes: 6 additions & 0 deletions Chapter2/jsonReader.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import json
from pprint import pprint

with open("pokemon.json") as f:
data = json.loads(f.read())
pprint(data)
Loading

0 comments on commit 7a19832

Please sign in to comment.