python常用操作

2021-09-28 12:16:18 字數 3326 閱讀 7976

1.檔案讀寫

1)目錄建立

import os

i***ists=os.path.exists(path)

if not i***ists:

os.makedirs(path)//可以建立多級目錄

2)檔案讀取
import csv

with open(filname,"r") as csvfile:

reader = csv.reader(csvfile)

for line in reader:

//單行操作

或者csvfile1 = open(path+"/"+"country.csv","r",encoding="utf-8")

reader = [each for each in csv.dictreader(csvfile1, delimiter=',')]

for row in reader:

3)檔案寫入
fo=open(filename,"w")

writer=csv.writer(fo)

for item in jdata:

writer.writerow([item['data_time'], item['position_id'], item['country'], item['visitors']])

fo.close()

2自定義日誌
def loggingmanage(table):

# 建立乙個logger

logger = logging.getlogger(table)

logger.setlevel(logging.debug)

# 建立乙個handler,用於寫入日誌檔案

# d = os.path.dirname('.')

# pd=os.path.dirname(d)

# pdd=os.path.dirname(pd)

# apd=os.path.abspath(pdd)

fh = logging.filehandler("/home/s/log/"+table+".log")

fh.setlevel(logging.debug)

# 定義handler的輸出格式

formatter = logging.formatter( ("******************************==\n"

"time:%(asctime)s\nlogger:%(name)s\nlevel:%(levelname)s\n"

"file:%(filename)s\nfun:%(funcname)s\nlineno:%(lineno)d\n"

"message:%(message)s" ))

fh.setformatter(formatter)

# 給logger新增handler

logger.addhandler(fh)

return logger

logger=loggingmanage("country")

3 mysql資料庫讀寫

1)mysql連線

def getcon():

conn=none

cursor1=none

try:

# host是選擇連線哪的資料庫localhost是本地資料庫,port是埠號預設3306

#user是使用的人的身份,root是管理員身份,passwd是密碼。db是資料庫的名稱,charset是編碼格式

conn=pymysql.connect(host="localhost",port=3306,user='ts',passwd='t,db='ts',charset='utf8',local_infile=1)

# 建立游標物件

cursor1=conn.cursor()

except exception as e:

logger.error("資料庫連線失敗")

logger.error(e)

return conn,cursor1

2)myql資料庫讀取
conn=none

cursor1=none

try:

conn,cursor1=getcon()

if conn is none or cursor1 is none:

logger.error("資料庫連線獲取失敗")

return (false,none,none)

except exception as e:

logger.error(e)

try:

sql="select 。。。。。;"//sql語句

logger.info(sql)

cursor1.execute(sql)

conn.commit()

(start_date,) = cursor1.fetchone() //獲取第一條結果

## for (id,) in cursor1: //遍歷多條結果

except exception as e:

logger.error(e)

fla=false

finally:

if not cursor1:

cursor1.close()

if not conn:

conn.close()

3)mysql資料庫寫入
conn=none

cursor1=none

try:

conn,cursor1=getcon()

if conn is none or cursor1 is none:

logger.error("資料庫連線獲取失敗")

except exception as e:

logger.error(e)

try:

sql = "insert into onetable (date,ountry,province,visitor) values(%s,%s,%s,%s)"

for line in reader:

#//一次插入多條,插入多條用cursor1.execute()

cursor1.executemany(sql,args)

# 提交sql語句執行操作

conn.commit()

except exception as e:

logger.error(e)

finally:

if not cursor1:

cursor1.close()

if not conn:

conn.close()

python 常用操作

1 格式化常用方法 code 1 name 2 path 1 f path 2 format code,name 2 獲取路徑前半部分和後半部分 如 root test path stb pref root test path suff stb import os def get gep s if ...

Python 常用操作

b np.array a a是list型別,b為ndarray型別。2 檢視元素型別 type object 3 檢視列表的維度 要先轉化為ndarray型別,再檢視維度 np.array a shape a為列表4 直接獲取csv檔案中的某一列 df pd.read csv d 01.csv a ...

Python 常用操作

陣列操作 畫圖相關 檔案操作 代表乘法,向量對應位置相乘 代表乘方 eg.2 5 32 除法 除法後取整 round 1.234566778,2 1.23 a 100000000 print e a b e a b 1.000000e 09 iloc 即index locate 用index索引進行...