Python 的基础和爬虫(1)

Python 的基础和爬虫
1、全局变量和局部变量

i=10
def func():
     j=10
     j+=1
     print(j)
 func()#调用函数
 print(i)

i就为全局变量,j为局部变量,加一个global可以将局部变量变成局部变量。

i=10
def func():
   global j
   j=10
   j+=1
func()
print(j)

2、函数,函数参数,形参和实参

def abc(a,b) :#a,b为形参
    print("hi")#该行代码前一直有空格,表示一直处于函数中
abc() 
def func1(a,b): 
    if a>b:
       print(a)
    else:
       print(b)
 func1(10,19)

3、python的模块
封装在lib目录下,按照类别和功能组成一个模块,直接导入模块进行使用。比如urllib的request。读取网页,from 要直接定位到文件.py

from urllib.request import urlopen
data1=urlopen("http:/www.baidu.com").read()
printlen(data1)#
from urllib import request
data2=request.urlopen("http:/jd.com").read()
printlen(data2)#读取网页的长度

可以写py文件,比如abc.py模块的使用方法

def abc:
    return"hi"#直接将函数整体作为返回值
import abc

4.python文件操作(实现excel的合并)
open("","")创建和打开文件,r只读,r+可读可写,不会创建不存在的文件,从顶部开始写,会覆盖之前此位置的内容;w+可读可写,如果文件存在,则覆盖整个文件,文件不存在,则创建;w只能写,覆盖整个文件,不存在则创建;a只能写,从文件底部添加内容,不存在则创建;a+可读可写,从文件顶部读取内容,从文件底部添加内容,不存在则创建。

fh2=open("F:/file2.txt","wb")#写二进制
fh3=open("F:/file3.txt","r")#读
fh1=open("F:/file1.txt","w")#写
content1="pretty kitty"
fh1.write(content1)
fh1.write("jixjiji")
fh1.close()#打开文件之后,结束后要关闭

readline()和readlines()循环语句逐行读取

fh2=open("F:/file3.txt","r")
line1=fh2.readline()
print(line1)
while True:
   line=fh2.readline()
   if len(line)==0
      break#终止该操作与continue相对应
   print(line)
fh2.close()#注意缩进问题   

5、异常处理
爬虫时进行异常处理,跳过异常情况,继续爬取。

try:#试着执行这个代码
  print("my")
  printss("hi"except Exception as er:#遇到异常捕获异常,er为异常别名
  print(er)#如果没有异常处理,后面代码将不处理,比如在for循环中,将自动处理i+1,在不是循环的语句中,是不是要判断出异常的位置?
  print("hello")

6.实现多个表格和多个sheet的合并,使用openpyxl()或xlrd,xlsxwriter模块,自动获取多个sheet并进行合并

openpyxl()
wb1=openpyxl.load_workbook()
wb2=openpyxl.load_workbook()
wb3=openpyxl.load_workbook()
wb = openpyxl.Workbook()
wsheet = wb.active
(wb):
    sheet = wb.active
    column = sheet.max_column
    column
 (wbcolumn):
    ws = wb.active
    row_obj(ws.rows):
        t=(row_obj)
        temp = []
        j(column):
           temp.append(t[j].value)
        wsheet.append(temp)
        column1=get_column(wb1)
        column2=get_column(wb2)
        column3=get_column(wb3)

使用xlrd和xlsxwriter包进行处理

import xlrd,xlsxwriter
#设置要合并的所有文件
allxls=["F:/第一个测试文件","F:/第二个测试文件","F:/第三个测试文件"]
#设置合并到的文件
endxls="F:/endxls.xls"
#打开表格
def open_xls(file):
  try:
     fh=xlrd.open_workbook(file)
     return fh
  except Exception as e:
     print(str("打开错误,错误为:"+e))
#获取所有sheet
def getsheet(fh):
  return fh.sheet()
#读取某个sheet的行数d
def getnrows(fh,sheet):
  table=fh.sheets()[sheet]
  content=table.nrows
  return content
#读取某个文件的内容并返回所有行的值
def getfilect(fh,fl,shnum):#shnum表示sheet的索引0,1
  fh=open_xls(fl)
  table=fh.sheet_by_name(shname[shnum])
  num=getnrows(fh,shnum)
  lenvalue=len(rvalue)
  for row in range(0,num):#逐行读取
     rdata=table.row_values(row)
     rvalue.append(rdata)
     #print(rvalue[lenrvalue:])
     filevalue.append(rvalue[lenrvalue:])
     return filevalue

#存储所有读取的结果
filevalue=[]
#存储一个标签的结果
svalue=[]
#存储一个行的结果
rvalue=[]
#存储各sheet名
shname=[]

  



#打开最终写入的文件
wb1=xlsxwriter.Workbook(endxls)
#创建一个sheet的工作对象
ws=wb1.add_worksheet()
polit=0
linenum=0
#依次遍历每个sheet中的数据
for s in range(0,sn*fn,fn):
   thisvalue=getvalue(s)
   tvalue=thisvalue[polit:]
   #


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值