目录

  • 日期-天
  • 正则-三种
  • pandas 生成 excel表
  • 引入另一个python文件
  • pymysql数据库
  • SQLAlchemy
  • pymongo

一:日期

from datetime import datetime
from datetime import timedeltacurr_time=datetime.now() # 现在的时间
today=(curr_time.strftime("%Y-%m-%d"))# 调用strftime方法就是对时间进行格式化
yesterday=(curr_time - timedelta(days=1)).strftime("%Y-%m-%d")
tomorrow=(curr_time + timedelta(days=1)).strftime("%Y-%m-%d")
week_ago = (curr_time + timedelta(weeks=1)).strftime("%Y-%m-%d")print("今天日期:",today)
print("昨天日期:",yesterday)
print("明天日期:",tomorrow)
print("下周日期:",week_ago)

二:正则

1:三种

# 正则
# 匹配,不存在为none
a_pipei = re.match(r'^ab','abdhfikre')[0]
a_pipein_null = re.match(r'^ab','11abdhfikre')a_fidall = re.findall(r'/(\d+).htm','baidu/12344.htm')[0]
# sub替换
a_huan = re.sub(r"(/\d+)",'/naliduo66', 'baidu.com/123/home/456/ll789.html')


2:取值group

 text = '<img src="//www.baidu.com/img/flexible/logo/pc/result.png" title="到百度首页">'a = re.match(r'<img src="(\S+)"', text)print(a[0])print(a.group(1))            #只取出url链接,()里面的



三:生成Excel

一:pandas
1:dataframe对象- (列表+表头)

import pandas
stu = [['小A','11','玩'],['小c','22','跑'],['小d','33','跳']]
pf = pandas.DataFrame(stu)    #dataframe对象
#表头名称
pf.columns = ['姓名', '年龄', '技能']
# 生成Excel表格
file_path = pandas.ExcelWriter('店铺名称.xlsx')
pf.to_excel(file_path, sheet_name='sheet1', encoding='utf-8', index=False)
# 保存表格
file_path.save()

注:
dateFrame是行列对象
pf.columns:列
to_excel:生成excel
index=false :左侧一行索引不显示

2:字典数据

import pandas
student = [{"姓名": "小A", "年龄": "21", "职业": "战士"},]
pf = pandas.DataFrame(student)    #dataframe对象
#loc[]添加
pf.loc['5'] = {"姓名": "小方", "年龄": "22", "职业": "辅助"}
pf.loc['6'] = {"姓名": "小lam", "年龄": "33", "职业": "打野"}
# 生成Excel表格
file_path = pandas.ExcelWriter('店铺名称.xlsx')
pf.to_excel(file_path, sheet_name='sheet1', encoding='utf-8', index=False)
# 保存表格
file_path.save()
print(pf.index)    #行与列
print(pf.columns)

行与列的结果:

二:xlwt生成Excel (老)

import xlwt
workbook = xlwt.Workbook(encoding='utf-8') #excel对象
worksheet = workbook.add_sheet('sycm1')    #创建shee表
worksheet.write(0,0,'hello python')         #写入内容
workbook.save('sycm.xls')                  #保存excel表

四:引入另一个python文件

import sys
sys.path.append(r'D:\g\Spider')
from env import env    #env  no .py
print(sys.path)

五:mysql数据库

import pymysql#1:连接数据库
conn = pymysql.connect(host='10', user='', password='',database='',port=3306)
biao = conn.cursor()        #2:获取游标#一:查询
sql = 'select * from course'
biao.execute(sql)           #3:游标查询sql语句
#fetchone(), fetchmany()    #4:获取数据!!!!!
data_all = biao.fetchall()
for item in data_all:print(item)
conn.close()                 #5:连接断开   #二:插入
sql1 = 'insert into course(cid, cname, tid) values("04","历史","04")'
biao.execute(sql1)
conn.commit()                #提交更改(增加,修改)
conn.close()


六:SQLAlchemy

一:导入模块

import sqlalchemy
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import sessionmaker

二:连接sql, 建立对象映射

#调用方法
def main():setsql(username='', password='', db_host='10', db_port=3306, db_name='sys', charset='utf8')def setsql(username, password, db_host, db_port, db_name, charset):#sql的地址sql_url = 'mysql+pymysql://{}:{}@{}:{}/{}?charset={}'.format(username, password, db_host, db_port, db_name, charset)engine = sqlalchemy.create_engine(sql_url)   #1:链接sqlsession = sessionmaker(bind=engine)()        #2:创建session进行增删改查Base = automap_base()                        #3:两步,表数据与对象映射Base.prepare(engine, reflect=True)table = Base.classes['course']               #4:Base.classes.tablename为表名 #  !!表名!!查找的精华                                        #print(Base.classes.keys())     #所有的表名

三:session
实现增删改查
session.query(table).filter() 查询
session.add() 增加

    #1:结果用for遍历 !!!#2:增删改需要session.commit()提交修改#一:查找 query()         datalist = session.query(table).order_by(table.tid.desc()).all()for i in datalist:print(i.cid, i.course, i.tid)datalist = session.query(table).filter(table.course=='语文')for i in datalist:print(i.cid, i.course, i.tid)#二:插入数据 add()或add_all([])insertdata = table(cid='05', course='高数',tid='07')session.add(insertdata)session.add(insertdata_22)session.flush()               #缓存多个,commit提交一次session.commit()#三:修改数据 update()session.query(table).filter(table.cid=='05').update({'course':'政治'})session.commit()#四:原始sqldata = session.execute('select * from course').fetchall()print(data)#关闭session.close()


七:pyMongo

参考文章:
https://blog.csdn.net/DanielJackZ/article/details/123749384

1:导入模块

import pymongo

2:链接mongo

def setMongo(host, port, username, password):url='mongodb://127.0.0.1:27017'# mongoDB = pymongo.MongoClient(url)              #1:链接url(两种)mongoDB = pymongo.MongoClient(host=host, port=port)db = mongoDB['zz_web']                            #2:打开数据库if username and password:                         #3:存在密码db.authenticate(username, password,'admin')collection = db['A.ec']                           #4:连接表

3:collection增删改查
①:查询

 #!!!用for循环输出结果#1:查询数据result = collection.find({'name':'zhangsan'}).skip(2).limit()result = collection.find({'name':'zhangsan'}).sort('age', pymongo.DESCENDING)  #排序result = collection.find({}, {'_id':False})                            #不显示_idresult = collection.find({'name':{'$in':['zhangsan','zhaoqian']}})     #筛选result = collection.find({'name':{'$regex':'sa'}})                     #包含某个字符串for item in result:print(item)

②:更新数据

#2:插入数据, 一或多
collection.insert_one({'name':'zhaoqian','hobby':'read book'})
collection.insert_many([])#3:更新数据
result = collection.update_many({'name':'wangwu'},{'$set':{'age':10,'look':'sse'}})     #更新属性
result = collection.update_many({'name':'wangwu'},{'$set':{'hobby.city':'北京'}})       #更新下一级#4:删除
result = collection.delete_many({'name':'zhaoqian'})#关闭连接
mongoDB.close()


八:Logging

参考文章:
https://blog.csdn.net/u011412768/article/details/110311835

1:知识
①:debug、info、warning、error、critical
②:logging.StreamHandler : 控制台输出
Logger.addHandler() : 添加对象
③:name 为getLogger(name)

一:settings.py中设置

#settings.py中#控制台输出,日志的级别
LOG_LEVEL ='DEBUG'
#日志保存为文件
LOG_FILE='debug.log'

二:编程

1:导入模块

import logging

2:通过logger、handler和formatter三种组件组合实现log同时打印和保存

def getlog():logger = logging.getLogger('name.log')  # 1:创建日志器logger.setLevel(logging.DEBUG)          # 2:该日志器的级别及格式f1 = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")#控制台terminal = logging.StreamHandler()  # 3:控制台terminal.setFormatter(f1)           # 4:内容格式logger.addHandler(terminal)         # 5:日志 ,绑定,控制台#保存文件fh = logging.FileHandler("test.log", encoding='utf8')fh.setFormatter(f1)logger.addHandler(fh)return logger

3:测试

if __name__ == '__main__':logger = getlog()# 输出日志try:b = int(input("请输入一个除数:"))logger.info("4/{}={},计算完成".format(b,4/b))logger.debug("goodjoy!")except Exception as error:logger.error(str(error))

控制台及文件的结果:

python的日期+excel+mysql+sqlAlchemy+mongo+logging相关推荐

  1. python datetime格式转换_分别用Excel和python进行日期格式转换成时间戳格式

    最近在处理一份驾驶行为方面的数据,其中要用到时间戳,因此就在此与大家一同分享学习一下. 1.什么是时间戳? 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01 ...

  2. python to_excel 时间格式_分别用Excel和python进行日期格式转换成时间戳格式

    最近在处理一份驾驶行为方面的数据,其中要用到时间戳,因此就在此与大家一同分享学习一下. 1.什么是时间戳? 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01 ...

  3. python读取数据文件-python多种读写excel等数据文件的方式(收藏篇)

    前言: python处理数据文件的途径有很多种,可以操作的文件类型主要包括文本文件(csv.txt.json等).excel文件.数据库文件.api等其他数据文件.下面小编整理下python到底有哪些 ...

  4. python里读写excel等数据文件的6种常用方式

    下面整理下python有哪些方式可以读取数据文件. 1. python内置方法(read.readline.readlines) read() : 一次性读取整个文件内容.推荐使用read(size) ...

  5. python 连接mysql_Python 连接MySQL

    数据库技术(例如MySQL)在气象业务和其他商业行业中都有着广泛的应用,气象与电网结合的大项目甚至都用上了hadoop分布式存储,Hadoop中的Hive组件和数据库在语法上高度相似. 传统运行mys ...

  6. python时间日期字符串各种

    python时间日期字符串各种 python时间日期字符串各种 第一种 字符串转换成各种日期 time 库 # -*- coding: utf-8 -*- import time, datetime ...

  7. 在python中操作excel

    一.可使用的第三方库 python中处理excel表格,常用的库有xlrd(读excel)表.xlwt(写excel)表.openpyxl(可读写excel表)等.xlrd读数据较大的excel表时效 ...

  8. python自动汇总excel_RPA手把手:Python轻松实现EXCEL自动化

    原标题:RPA手把手:Python轻松实现EXCEL自动化 了解RPA请访问: www.i-search.com.cn 艺赛旗-RPA机器人免费下载: www.i-search.com.cn/inde ...

  9. python批量导入mysql_用python批量向数据库(MySQL)中导入数据

    用python批量向数据库(MySQL)中导入数据 现有数十万条数据,如下的经过打乱处理过的数据进行导入 数据库内部的表格的数据格式如下与下面的表格结构相同 Current database: pyt ...

最新文章

  1. 16_python_面向对象
  2. Windows程序员如何转向Linux开发应用?
  3. mysql delete返回值_Mybatis执行sql(insert、update、delete)返回值问题
  4. nssl1176-轨道【数论,Dp】
  5. 人工智能自拍之后,会怎样给自己P图?
  6. python中、if语句的下一句一定要缩进吗_【python公开课|Python if else对缩进的要求是什么,想做好python,就一定要看这个文章】- 环球网校...
  7. ht1621b和单片机电平匹配_基于HT1621B段式液晶模块的驱动应用
  8. 《统计学习方法》的Python 3.6复现,实测可用
  9. Android开发笔记(一百六十五)利用红外发射遥控电器
  10. 拦截Response.Redirect的跳转并转换为Js的跳转
  11. 使用Javascript在Leetcode中的ACM模式下无法获取输入数据的问题
  12. centos 6.5 找回root密码的方法
  13. 对C语言指针的学习与理解
  14. 【总结】学了不少自然语言处理的理论知识,如何通过实战进一步提高能力?...
  15. SaaS模式、技术与案例详解——第17章 案例详解
  16. STFT filter bank
  17. win10 oracle怎样卸载,怎么完全卸载Oracle?(Win10) 以Oracle 11g为例
  18. UUID太长怎么办?快来试试NanoId(Java版本)
  19. DRF-视图类APIView与GenericAPIView
  20. 在JSF中应用javascript(关于jsf的action与js的问题)

热门文章

  1. 中山大学计算机pK国防科技大学,请问读中山大学好还是读国防科技大学好
  2. Java 2022圣诞树+2023元旦倒计时打包一起领走
  3. 中山大学计算机学院官网万海,万海:《计算机网络》课程研修班报告 - 中山大学信息科学与技术学院.doc...
  4. 一分钟攻破ADSL 盗遍宽带密码(转)
  5. redhat 离线安装 docker
  6. win7 远程桌面的多用户连接破解
  7. CenterLoss原理详解(通透)
  8. 解决在ROS系统下录制Ti毫米波雷达点云数据,并转换成pcd文件时间戳为零的问题
  9. 三国志11pk内存修改
  10. libx264编码过程中修改码率踩坑记录