首页 > 数据库 >python 05-标准库:csv、json、sqlite3、datetime模块

python 05-标准库:csv、json、sqlite3、datetime模块

时间:2024-08-22 22:15:19浏览次数:7  
标签:05 python datetime sqlite3 json print import data



csv模块



import csv

# data.csv不存在时,会现在当前目录下创建一个data.csv文件
with open("data.csv", "w", encoding='utf-8') as file:
    writer = csv.writer(file)
    writer.writerow(["trasanction_id", "product_id", "price_id"])
    writer.writerow([1000, 1, 50])
    writer.writerow([1001, 5, 153])
    writer.writerow([1002, 16, 210])


with open("data.csv") as file:
    reader = csv.reader(file)
    print(list(reader))





json模块


json.dumps():可以将一个Python对象(‌如字典、‌列表、‌字符串、‌数字等)‌作为参数传递给该函数,‌它一个JSON格式的字符串。‌


import json
from pathlib import Path

# 创建一个Python字典
data = {
    'name': 'John Doe',
    'age': 30,
    'is_student': False,
    'courses': ['Math', 'Science']
}

# 将字典转换为JSON格式的字符串
json_str = json.dumps(data)

# 打印JSON字符串
print(json_str)

# 在当前目录创建一个json文件,把json_str写到该文件中
Path("data.json").write_text(json_str, encoding='utf-8')


# 读json文件
data_read = Path("data.json").read_text(encoding='utf-8')
print(data_read)
print(type(data_read))  # Path.read_text()返回的是一个str对象

data_dict = json.loads(data_read)  # 返回一个 字典对象 或者 字典array
print(type(data_dict))  # <class 'dict'>
print(data_dict)



sqlite3模块


  • sqlite3 模块是 Python 标准库的一部分,‌它提供了一个接口,‌允许 Python 程序与 SQLite 数据库进行交互。‌

  • SQLite是轻量级的嵌入式数据库,‌无需独立服务器进程(不用独占服务器的资源),‌适合单用户或低并发场景;‌

  • SQLite功能相对简单,‌不支持存储过程、‌触发器等高级特性,‌数据安全性较低;‌

  • SQLite适用于嵌入式设备、‌移动应用和轻量级桌面应用




新建一个json文件:

import sqlite3
import json
from pathlib import Path

# 返回一个数据类型为字典的array
stus = json.loads(Path("student.json").read_text(encoding='utf-8'))
print(stus)

# 如果db.sqlite3文件不存在 会自动创建
with sqlite3.connect("db.sqlite3") as conn:  # 会返回一个Connection对象
    command = "INSERT INTO Students VALUES(?,?,?)"  # Students表需要提前建立好(创建表后记得保存),否则报错
    for stu in stus:
        conn.execute(command, tuple(stu.values()))
    conn.commit()



# 查找
with sqlite3.connect("db.sqlite3") as conn:
    command = "SELECT * FROM Students"
    cursor = conn.execute(command)
    for row in cursor:
        print(row)
    # conn.commit() 读数据时不需要提交,涉及到写修改才需要提交

还可以转换成元组输出:

with sqlite3.connect("db.sqlite3") as conn:
    command = "SELECT * FROM Students"
    cursor = conn.execute(command)
    tuple_stu = cursor.fetchall()
    print(tuple_stu)




datetime模块


from datetime import datetime
import time

dt = datetime(2020, 1, 1)
print(dt)

current_dt = datetime.now()
print(current_dt)

# strptime()用于将字符串形式的日期和时间解析‌为datetime对象
time_s = datetime.strptime("1980/01/20", "%Y/%m/%d")  # 注意 大小写不一样 格式也不一样
print(time_s)

# 把timestamp会转换成datetime的形式
time_d = datetime.fromtimestamp(time.time())
print(time_d)



from datetime import datetime, timedelta
import time

dt1 = datetime(2020, 1, 1)
dt2 = datetime.now()  # 2024-08-22

duration = dt2-dt1
print(duration)  # 1695 days, 22:08:38.756208
print(duration.days)  # 1695
print(duration.seconds)  # 79718

# timedelta
dt3 = datetime(2020, 1, 1)+timedelta(days=1, seconds=20)  # 增加1天20秒
print(dt3) # 2020-01-02 00:00:20






标签:05,python,datetime,sqlite3,json,print,import,data
From: https://www.cnblogs.com/kakafa/p/18374864

相关文章

  • Selenium + Python 自动化测试22(PO+数据驱动)
            我们的目标是:按照这一套资料学习下来,大家可以独立完成自动化测试的任务。上一篇我们讨论了PO模式和unittest框架结合起来使用。        本篇文章我们综合一下之前学习的内容,如先将PO模式、数据驱动思想和我们生成HTML报告融合起来,综合的灵活的使用......
  • 第四章 Python操作redis(操作案例)
    一、python对redis基本操作(1)连接redis#方式1importredisr=redis.Redis(host='127.0.0.1',port=6379)r.set('foo','Bar')print(r.get('foo'))#方式2importredispool=redis.ConnectionPool(host='127.0.0.1',po......
  • Python 基础:编程概念
    在黑客和网络安全领域,这通常意味着BASH和Python脚本。Python脚本在网络安全专业人士中最受欢迎,因为它拥有丰富的库和模块,可用于网络安全(你可以使用任何编程语言进行网络安全,但如果有人已经用Python等语言编写了轮子,那么你的生活就会轻松得多)。如果你检查Kali中的工具,你会......
  • python——concurrent.futures
    concurrent.futures是Python标准库中用于并行编程的高级模块,它提供了一种高级别的接口来管理线程和进程。通过这个模块,你可以轻松地利用多线程和多进程来并行执行任务,进而提高程序的执行效率。1.concurrent.futures概述concurrent.futures提供了两种执行器类型:Thre......
  • 【精选】基于Python的热门旅游景点数据分析系统的设计与实现(南京旅游,北京旅游,旅游网站
    目录: 系统简介:  关键技术介绍2.1PYTHON语言简介2.2MySql数据库2.3DJANGO框架2.4Hadoop介绍2.5Scrapy介绍2.6B/S架构 系统总功能结构设计系统详细实现:6系统测试系统测试的目的软件测试过程测试用例为什么选择我: 博主介绍:  ✌我是阿龙,一名......
  • Python系列(7)| 命名空间、作用域
     1.命名空间(Namespace)   Python中的命名空间(Namespace)和作用域是密切相关的概念。Python命名空间(Namespace)可以视为一个字典,其中键是变量名,值是与之关联的对象。   各个命名空间是独立的,同一个命名空间中不能有重名(重名的以后一个为准),不同的命名空间是......
  • PCA原理与水果成熟状态数据分析实例:Python中PCA-LDA 与卷积神经网络CNN
    全文链接:https://tecdat.cn/?p=37450 主成分分析(PCA)作为数据科学中用于可视化和降维的重要工具,在处理具有大量特征的数据集时非常有用。就像我们难以找到时间阅读一本1000页的书,而更倾向于2到3页的总结以抓住整体概貌一样,当数据集中特征过多时,PCA可以帮助我们减少维度,提......
  • python 04-标准库:pathlib模块
    pathlib模块pathlib模块‌:是面向对象的文件系统路径操作库,提供接口来处理文件路径。Path是主类Path:Path对象表示文件或目录的路径,Path类会自动选择PosixPath或WindowsPath,具体取决于我们的操作系统......
  • Python系列(6)- Python 函数、Python 装饰器
    函数在数学上的定义:给定一个非空的数集A,对A施加对应法则f,记作f(A),得到另一数集B,也就是B=f(A),那么这个关系式就叫函数关系式,简称函数。简而言之,两个变量x和y,如果每给定x的一个值,y都有一个确定的值与其对应,那么我们就说y是x的函数。其中,x叫做自变量,y叫做因变量......
  • python03-标准库 第三方库-pathlib模块
    python标准库:Python自带的一组模块和库,这些模块和库提供了Python编程所需的基础功能和工具https://docs.python.org/zh-cn/3/library/index.html?eqid=8ca0b3ea000067990000000264800802Python包索引:即PyPI(PythonPackageIndex),是一个仓库,存放了许多可以通过pip安装的独......