一、 datetime模块
导入语法:from datetime import datetime
- datetime
1)获取当前时间
t1 = datetime.now()
print(t1, type(t1))
2)创建时间对象
t2 = datetime(2010, 10, 3)
print(t2) #2010-10-03 00:00:00
3)获取时间相关属性(方法)
时间对象.year/month/day/hour/weekday()
4)时间对象与字符串的转换
"""
时间对象.strftime(时间格式) - 将时间对象转换成指定格式的字符串时间
datetime.strptime(时间字符串, 时间格式) - 将字符串时间转换成时间对象
"""
- timedelta(时间的加减)
t2 = datetime(2020, 2, 28, 23, 59, 40)
# 时间加30秒
result = t2 + timedelta(seconds=30)
print(result)
# 1个小时50分钟以后
result = t2 + timedelta(hours=1, minutes=50)
print(result)
# 时间加3天
result = t2 + timedelta(days=3)
print(result)
# 45天前
result = t2 - timedelta(days=45)
print(result)
# 3周以后
result = t2 + timedelta(weeks=3)
print(result)
二、excel文件的操作
导入语法:from openpyxl
- 读excel文件数据
#openpyxl.load_workbook(文件路径) - 打开指定excel文件返回一个工作簿对象
wb = openpyxl.load_workbook('files/学生信息.xlsx')
-
工作表
1)获取所有工作表的表名:工作簿对象.sheetnames
sheet1 = wb.active
print(sheet1)
2)获取工作表对象
# a.获取活跃表(当前被选中的表) : 工作簿对象.active
sheet1 = wb.active
print(sheet1)
# b.根据表名获取工作表对象: 工作簿对象[表名]
teacher_sheet = wb['老师数据']
print(teacher_sheet)
-
单元格
1)根据单元格位置信息获取单元格对象
# 表对象.cell(行号, 列号) - 行号列号都是从1开始的数字
# 表对象[‘列号行号’] - 列号是字母
cell1 = sheet1.cell(2, 1)
print(cell1)
cell2 = sheet1['B2']
print(cell2)
2)获取单元格内容
# 单元格对象.value
print(cell1.value)
print(cell2.value)
3)获取最大行数和列数
# 最大行数: 表对象.max_row
# 最大列数: 表对象.max_column
m_row = sheet1.max_row
m_col = sheet1.max_column
print(m_row, m_col)
-
将数据写入excel
-
打开文件
1)打开已经存在的文件
wb1 = openpyxl.load_workbook('files/学生信息.xlsx')
2)新建一个工作簿
语法:openpyxl.Workbook()
-
确定工作表
1)使用已经存在的表: 工作簿对象.active 、 工作簿对象[表名]
2)新建表: 工作簿对象.create_sheet(表名, 位置-默认在最后)
3)修改表名:表对象.title = 新名字
-
将数据写入单元格:单元格对象.value = 值
food_sheet.cell(1, 1).value = '商品名称'
food_sheet.cell(1, 2).value = '价格'
wb2.save('./files/商品.xlsx')
三、csv文件的操作
csv文件读的操作
导入语法:import csv
-
创建csv文件的reader
#csv.reader(文件对象)
# csv.DictReader(文件对象)
-
通过reader读文件内容
#reader对象本身就是一个迭代器,里面包含csv文件的所有内容
csv文件写的操作
-
列表的writer的写操作
# csv.writer(文件对象)
-
字典的writer的写操作
1)创建字典writer: csv.DictWriter(文件对象, 字典所有的键)