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索引進行...