Python-pandas-操作csv文件(读取数据/写入数据)及csv语法详细分享
Python-pandas-操作csv文件(读取数据/写入数据)
提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是pandas的使用语法。前后每一小节的内容是存在的有:学习and理解的关联性。【帮帮志系列文章】:每个知识点,都是写出代码和运行结果且前后关联上的去分析和说明(能大量节约您的时间)。
所有文章都不会直接把代码放那里,让您自己去看去理解。我希望我的内容对您有用而努力~
python语法-pandas第三节-附 :本小节是 DataFrame全系列分享(使用.特点.说明.外部文件数据.取值.功能函数.统计函数)的 csv文件操作:读取数据及写入数据
详细的 DataFrame:
DataFrame全系列分享(数据结构.使用.特点.说明.外部文件数据.取值.功能函数.统计函数)
链接: DataFrame全系列分享
【上榜文章】一文搞定,非常详细的Python-Pandas - DataFrame全系列分享。大量案例且晦涩难懂的有大白话解释。详细的扩展内容也额外写了其他更加细节全面的文章链接在里面,来保证DataFrame的全部内容,本文就是其中一个扩展读写数据csv篇
文章目录
- Python-pandas-操作csv文件(读取数据/写入数据)
- 前言
- 一、读取数据
- 二、写入数据
- 其他csv操作函数
- head()方法
- tail()
- info()
- 总结
前言
CSV(Comma-Separated Values),其文件以纯文本形式存储的表格数据(数字和文本)。
CSV是表格格式的数据,有表头(列名),有一行一行的数据。
正好通过Pandas来操作这些数据的时候:DataFrame也是一种表格格式的数据类型
DataFrame系列分析见文件头部链接。
测试本文DataFrame操作csv代码之前,需要准备一个csv文件,如果没有怎么办?谁家好孩子自己创建一个空文件,后缀是csv,然后添数据呀,您可以复制下面代码:
Python文件操作的详细文章为:
链接: Python代码写入/读取文件语法
#快速预览整体 没数据版本代码
import csv#在同层级位置开启一个csv(没有就自动创建一个,有就打开)
#模式为 w(写入) 新行没有空行newline 编码utf-8 指定为别名 f
with open('data.csv','w',newline="",encoding='utf-8') as f:fwrite = csv.DictWriter(f,fieldnames=['id','name','age'])#指定csv列名fwrite.writeheader() #文件里写上表头 listdata = [{},{},{}] #列表里面有三个字典数据 fwrite.writerows(listdata)
#重点:就是把那三个字典 放到csv里面,目前语法csv也只认字典,因为:#writerows方法是需要传递list类型数据的 只能用[{}] 哪怕一个字典数据
#字典类型有key~ key就对应csv的表头
import csvwith open('data.csv','w',newline="",encoding='utf-8') as f:#声明写入器fwrite 传入f变量,且声明列名为:'id','name','age'fwrite = csv.DictWriter(f,fieldnames=['id','name','age'])#写入头部(csv文件就带表头) 这句代码不写,文件第一行就没有表头(影响看,不影响取值/写入。因为是写入器fwrite来决定 列,不是这句写入头部的代码)fwrite.writeheader()listdata = [{'id':1, #对应写入器的列名'name':'bangbangzhi', #三列'age':18 #我字典就三组 k-v},{'id':2, #一定要对应写入器的列名,不然它分不清楚,哪列放什么数据'name':'java','age':19},{'id':3, #您甚至可以把 这个字典的name Python 删了。 'name':'python', #它会在csv里面空一列'age':20 #就是为什么 必须对应上 写入器 列的原因}]fwrite.writerows(listdata)#这个方法 传列表类型,但是我们列表里面有带数据的字典#它就根据字典的key 对应放在csv的对应列里面#如:
运行,控制台没有反应的,毕竟我没有写print().。它会在当前层级位置,生成一个新的csv文件:data.csv
双击打开csv文件(您开发工具如果有csv插件,打开就是一个表格):
一、读取数据
使用pandas来读取csv,方法:
pd.read_csv(参数)
常用参数为:filepath_or_buffer (路径或文件对象),sep (分隔符),header (行标题),names (自定义列名),dtype (数据类型),index_col (索引列)
参数为:
参数名字 | 解释 |
---|---|
filepath_or_buffer | CSV 文件的路径或文件对象(支持 URL、文件路径、文件对象等) 必需参数 |
sep | 定义字段分隔符,默认是逗号(,),可以改为其他字符,如制表符(\t) ‘,’ |
header | 指定行号作为列标题,默认为 0(表示第一行),或者设置为 None 没有标题 0 |
names | 自定义列名,传入列名列表 None |
index_col | 用作行索引的列的列号或列名 None |
usecols | 读取指定的列,可以是列的名称或列的索引 None |
dtype | 强制将列转换为指定的数据类型 None |
skiprows | 跳过文件开头的指定行数,或者传入一个行号的列表 None |
nrows | 读取前 N 行数据 None |
na_values | 指定哪些值应视为缺失值(NaN) None |
skipfooter | 跳过文件结尾的指定行数 0 |
encoding | 文件的编码格式(如 utf-8,latin1 等) None |
哪来这么多参数?pandas的这个DataFrame本身就可以指定很多指标数据。毕竟最终您读取了csv文件,是要在pandas里面去做数据分析的。没有指定好,后面数据分析的代码没法写,那读csv有什么用,对吧~可以看看文章最开始的那个链接DataFrame介绍 ღ( ・ᴗ・) 比心
import pandas as pd# 读取 CSV 文件,并自定义列名 分隔符 每列的类型
df = pd.read_csv('data.csv', sep=',', header=0, names=['id', 'name', 'age'],dtype={'id': int, 'name': str, 'age': float})
print(df)#names=['id', 'name', 'age']是DataFrame的列名(和csv无关),但是一般都遵守标准命名规范
#所以都是和csv的列一样
#这里列名也是可以看需求改的
标准的DataFrame结构(行索引从0开始~):
行索引是啥?然后怎么操作,怎么取值,emmmmm,哦。: DataFrame全系列分享
二、写入数据
使用pandas来写入csv文件来存储,方法:
pd.to_csv(参数)
我现在演示的代码,csv文件和代码文件同层级,但是数据放到csv里面了,关机开机啥的,csv里面的东西一直在,csv就像txt一样的
参数为:
参数名字 | 解释 |
---|---|
path_or_buffer | CSV 文件的路径或文件对象(支持文件路径、文件对象) 必需参数 |
sep | 定义字段分隔符,默认是逗号(,),可以改为其他字符,如制表符(\t) ‘,’ |
index | 是否写入行索引,默认 True 表示写入索引 True |
columns | 指定写入的列,可以是列的名称列表 None |
header | 是否写入列名,默认 True 表示写入列名,设置为 False 表示不写列名 True |
mode | 写入文件的模式,默认是 w(写模式),可以设置为 a(追加模式) ‘w’ |
encoding | 文件的编码格式,如 utf-8,latin1 等 None |
line_terminator | 定义行结束符,默认为 \n None |
quoting | 设置如何对文件中的数据进行引号处理(0-3,具体引用方式可查文档) None |
quotechar | 设置用于引用的字符,默认为双引号 " ‘"’ |
date_format | 自定义日期格式,如果列包含日期数据,则可以使用此参数指定日期格式 None |
doublequote | 如果为 True,则在写入时会将包含引号的文本使用双引号括起来 True |
import pandas as pd# 准备一些数据
name = ["hello", "python", "bangbangzhi", "emmm"]
bobby = ["eat", "sheep", "play", "what"]
age = [18, 19, 20, 100]
# 字典
dict = {'name': name , 'bobby': bobby, 'age': age}
df = pd.DataFrame(dict)
#随便写一个DataFrame
#至于怎么代码生成DataFrame 万一看不明白啥的~没事。 那个链接指向的文章很全的。
#本篇是 声明DataFrame语法模块内容里面的,,,小小分支 csv数据来源声明DataFrame额外分支篇文章# 保存 dataframe
#主要就演示这句
df.to_csv('site.csv') #还是一样的,当前代码文件的同层级位置生成新的csv
可以再来一个,懒得往上翻嘛:
详细的 DataFrame:
DataFrame全系列分享(数据结构.使用.特点.说明.外部文件数据.取值.功能函数.统计函数)
链接: DataFrame全系列分享
其他csv操作函数
head()方法
head( n ) 方法用于读取前面的 n 行,如果不填参数 n ,默认返回 5 行。
import pandas as pddf = pd.read_csv('data.csv')#我演示语法 ,数据总共才3行呢,我那个添加数据 字典篇幅不能太多了,哦~
print(df.head()) #返回前5行在控制台
print(df.head(10)) #返回前10行在控制台 #也不用非得print(),没事儿输出前5行干啥,这个方法一般先取出一部分数据,来测试格式
#为数据分析 整篇csv全部内容 做铺垫准备
tail()
tail( n ) 方法用于读取尾部的 n 行,如果不填参数 n ,默认返回 5 行,空行各个字段的值返回 NaN。
import pandas as pddf = pd.read_csv('data.csv')print(df.tail()) #返回最后5行在控制台
print(df.tail(10)) #返回最后10行在控制台 #和head很像
info()
方法返回表格的一些基本信息
import pandas as pddf = pd.read_csv('data.csv')
#查看信息
print(df.info())
#能看总行数 每列的名字 和数据类型
总结
(会陆续更新非常多的IT技术知识及泛IT的电商知识,可以点个关注,共同交流。ღ( ´・ᴗ・` )比心)
(也欢迎评论,提问。 我会依次回答~)
相关文章:
Python-pandas-操作csv文件(读取数据/写入数据)及csv语法详细分享
Python-pandas-操作csv文件(读取数据/写入数据) 提示:帮帮志会陆续更新非常多的IT技术知识,希望分享的内容对您有用。本章分享的是pandas的使用语法。前后每一小节的内容是存在的有:学习and理解的关联性。【帮帮志系列文章】:每个…...
如何在Windows上实现MacOS中的open命令
在MacOS的终端中,想要快速便捷的在Finder中打开当前目录,直接使用oepn即可。 open . 但是Windows中没有直接提供类似open这样的命令,既然没有直接提供,我们就间接手搓一个实现它。 步骤1:创建open.bat echo OFF expl…...
读论文笔记-LLaVA:Visual Instruction Tuning
读论文笔记-LLaVA:Visual Instruction Tuning 《Visual Instruction Tuning》 研究机构:Microsoft Research 发表于2023的NeurIPS Problems 填补指令微调方法(包括数据、模型、基准等)在多模态领域的空白。 Motivations 人工…...
Vue3源码学习3-结合vitetest来实现mini-vue
文章目录 前言✅ 当前已实现模块汇总(mini-vue)✅ 每个模块简要源码摘要1. reactive.ts2. effect.ts3. computed.ts4. ref.ts5. toRef.ts6. toRefs.ts ✅ 下一阶段推荐目标所有核心模块对应的 __tests__ 测试文件,**带完整注释**✅ reactive.…...
K8S - 从零构建 Docker 镜像与容器
一、基础概念 1.1 镜像(Image) “软件的标准化安装包” ,包含代码、环境和配置的只读模板。 技术解析 镜像由多个层组成,每层对应一个Dockerfile指令: 应用代码 → 运行时环境 → 系统工具链 → 启动配置核心特性…...
贪心算法求解边界最大数
贪心算法求解边界最大数(拼多多2504、排列问题) 多多有两个仅由正整数构成的数列 s1 和 s2,多多可以对 s1 进行任意次操作,每次操作可以置换 s1 中任意两个数字的位置。多多想让数列 s1 构成的数字尽可能大,但是不能比…...
C++类和对象(中)
类的默认成员函数 默认成员函数就是用户没有显式实现,编译器会自动生成的成员函数。一个类,我们不写的情况下编译器会默认生成6个默认成员函数,C11以后还会增加两个默认成员函数,移动构造和移动赋值。默认成员函数 很重要&#x…...
(Go Gin)Gin学习笔记(五)会话控制与参数验证:Cookie使用、Sessions使用、结构体验证参数、自定义验证参数
1. Cookie介绍 HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分两次请求是否由同一个客户端发出Cookie就是解决HTTP协议无状态的方案之一,中文是小甜饼的意思Cookie实际上就是服务器保存在浏览器上的一段信息。浏览…...
Windows 10 环境二进制方式安装 MySQL 8.0.41
文章目录 初始化数据库配置文件注册成服务启停服务链接服务器登录之后重置密码卸载 初始化数据库 D:\MySQL\MySQL8.0.41\mysql-8.0.41-winx64\mysql-8.0.41-winx64\bin\mysqld -I --console --basedirD:\MySQL\MySQL8.0.41\mysql-8.0.41-winx64\mysql-8.0.41-winx64 --datadi…...
Day.js一个2k轻量级的时间日期处理库
dayjs介绍 dayjs是一个极简快速2kB的JavaScript库,可以为浏览器处理解析、验证、操作和显示日期和时间,它的设计目标是提供一个简单、快速且功能强大的日期处理工具,同时保持极小的体积(仅 2KB 左右)。 Day.js 的 API…...
SQL实战:05之间隔连续数问题求解
概述 最近刷题时遇到一些比较有意思的题目,之前多次遇到一些求解连续数的问题,这次遇到了他们的变种,连续数可以间隔指定的数也视为是一个完整的“连续”。针对连续数的这类问题我们之前讲的可以利用等差数列的思想来解决,然而现…...
Windows下Dify安装及使用
Dify安装及使用 Dify 是开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用。比 LangChain 更易用。 前置条件 windows下安装了docker环境-Windows11安装Docker-CSDN博客 下载 Git下载…...
回归分析丨基于R语言复杂数据回归与混合效应模型【多水平/分层/嵌套】技术与代码
回归分析是科学研究特别是生态学领域科学研究和数据分析十分重要的统计工具,可以回答众多科学问题,如环境因素对物种、种群、群落及生态系统或气候变化的影响;物种属性和系统发育对物种分布(多度)的影响等。纵观涉及数…...
EasyRTC嵌入式音视频实时通话SDK技术,打造低延迟、高安全的远程技术支持
一、背景 在当今数字化时代,远程技术支持已成为解决各类技术问题的关键手段。随着企业业务的拓展和技术的日益复杂,快速、高效地解决远程设备与系统的技术难题变得至关重要。EasyRTC作为一款高性能的实时通信解决方案,为远程技术支持提供了创…...
webrtc ICE 打洞总结
要搞清webrtc ICE连接是否能成功 , 主要是搞懂NAT NAT 类型 简单来说 一 是本地的ip和端口 决定外部的 ip和端口(和目的Ip和端口无关) , (这种情况又分为 , 无限制,仅限制 ip , 限制ip和port , 也就是…...
AI开发者的Docker实践:汉化(中文),更换镜像源,Dockerfile,部署Python项目
AI开发者的Docker实践:汉化(中文),更换镜像源,Dockerfile,部署Python项目 Dcoker官网1、核心概念镜像 (Image)容器 (Container)仓库 (Repository)DockerfileDocker Compose 2、Docker 的核心组件Docker 引擎…...
4.30阅读
一. 原文阅读 Passage 7(推荐阅读时间:6 - 7分钟) In department stores and closets all over the world, they are waiting. Their outward appearance seems rather appealing because they come in a variety of styles, textures, and …...
区块链:跨链协的技术突破与产业重构
引言:区块链的“孤岛困境”与跨链的使命 区块链技术自诞生以来,凭借去中心化、透明性和安全性重塑了金融、供应链、身份认证等领域。然而,不同区块链平台间的互操作性缺失,如同“数据与价值的孤岛”,严重限制…...
Github 热点项目 Qwen3 通义千问全面发布 新一代智能语言模型系统
阿里云Qwen3模型真是黑科技!两大模式超贴心——深度思考能解高数题,快速应答秒回日常梗。支持百种语言互译,跨国客服用它沟通零障碍!打工人福音是内置API工具,查天气做报表张口就来。字) 1Qwen3 今日星标 …...
有状态服务与无状态服务:差异、特点及应用场景全解
有状态服务和无状态服务是在分布式系统和网络编程中常提到的概念,下面为你详细介绍: 一、无状态服务 无状态服务指的是该服务的单次请求处理不依赖之前的请求信息,每个请求都是独立的。服务端不会存储客户端的上下文信息,每次请…...
【网络入侵检测】基于源码分析Suricata的引擎日志配置解析
【作者主页】只道当时是寻常 【专栏介绍】Suricata入侵检测。专注网络、主机安全,欢迎关注与评论。 1. 概要 👋 Suricata 的引擎日志记录系统主要记录该引擎在启动、运行以及关闭期间应用程序的相关信息,如错误信息和其他诊断信息,…...
Attention层的FLOPs计算
前置知识 设矩阵 A 的维度为 mn,矩阵 B 的维度为 np,则它们相乘后得到矩阵 C 的维度为 mp。其中,C 中每个元素的计算需要进行 n 次乘法和 n−1 次加法。也就是说,总的浮点运算次数(FLOPs)约为 m p (2n) …...
支付APP如何做好网络安全防护
支付APP的网络安全防护需要从技术、管理、用户行为等多层面综合施策,以下为核心措施: 一、技术防御:构建安全底层 数据加密 传输加密:使用最新协议(如TLS 1.3)对交易数据加密&…...
Missashe考研日记-day31
Missashe考研日记-day31 0 写在前面 芜湖,五一前最后一天学习圆满结束,又到了最喜欢的放假环节,回来再努力了。 1 专业课408 学习时间:2h学习内容: OK啊,今天把文件系统前两节的内容全部学完了…...
二叉树的路径总和问题(递归遍历,回溯算法)
112. 路径总和 - 力扣(LeetCode) class Solution { private: bool traversal(TreeNode*cur,int count){if(!cur->left&&!cur->right&&count0){return true;}if(!cur->left&&!cur->right){return false;}if(cur-…...
Java学习计划与资源推荐(入门到进阶、高阶、实战)
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息文章目录 Java学习计划与资源推荐**一、筑基阶段(2-3个月)****二、进阶开发阶段(2个月)****三、高级突破阶段(2-3个月)****四、项目实战与竞…...
动态规划 -- 子数组问题
本篇文章中主要讲解动态规划系列中的几个经典的子数组问题。 1 最大子数组和 53. 最大子数组和 - 力扣(LeetCode) 解析题目: 子数组是一个数组中的连续部分,也就是说,如果一个数组以 nums[i]结尾,那么有两…...
Sehll编程的函数于数组
目录 一、函数 1.1、定义函数 1.2、查看、删除函数 1.3、函数的返回值 1.4、函数的参数传递 1.5、函数的作用范围 1.6、函数递归 二、数组 2.1、声明数组 2.2、数组格式定义 2.3、数组调用 2.4、删除数组 一、函数 shell编程中,函数用于封装一段可以重…...
flutter 专题 六十四 在原生项目中集成Flutter
概述 使用Flutter从零开始开发App是一件轻松惬意的事情,但对于一些成熟的产品来说,完全摒弃原有App的历史沉淀,全面转向Flutter是不现实的。因此使用Flutter去统一Android、iOS技术栈,把它作为已有原生App的扩展能力,…...
AI生成Flutter UI代码实践(一)
之前的杂谈中有提到目前的一些主流AI编程工具,比如Cursor,Copilot,Trea等。因为我是Android 开发,日常使用Android Studio,所以日常使用最多的还是Copilot,毕竟Github月月送我会员,白嫖还是挺香…...
spring boot中@Validated
在 Spring Boot 中,Validated 是用于触发参数校验的注解,通常与 JSR-303/JSR-380(Bean Validation)提供的校验注解一起使用。以下是常见的校验注解及其用法: 1. 基本校验注解 这些注解可以直接用于字段…...
VBA代码解决方案第二十四讲:EXCEL中,如何删除重复数据行
《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程,目前已经是第三版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码…...
SpringBoot+EasyExcel+Mybatis+H2实现导入
文章目录 SpringBootEasyExcelMybatisH2实现导入1.准备工作1.1 依赖管理1.2 配置信息properties1.3 H2数据库1.4 Spring Boot 基础概念1.5 Mybatis核心概念 1.6 EasyExcel核心概念 2.生成Excel数据工具类-随机字符串编写生成Excel的java文件 3.导入功能并且存入数据库3.1 返回结…...
算法四 习题 1.3
数组实现栈 #include <iostream> #include <vector> #include <stdexcept> using namespace std;class MyStack { private:vector<int> data; // 用于存储栈元素的数组public:// 构造函数MyStack() {}// 入栈操作void push(int val) {data.push_back…...
el-tabs与table样式冲突导致高度失效问题解决(vue2+elementui)
背景 正常的el-table能根据父容器自动计算剩余高度,并会在列表中判断自适应去放出滚动条。而el-tabs本身就是自适应el-tab-pane内容的高度来进行自适应调节,这样就会导致el-table计算不了当前剩余的高度,所以当el-tabs里面包含el-table时&am…...
Access开发:轻松一键将 Access 全库表格导出为 Excel
hi,大家好呀! 在日常工作中,Access 常常是我们忠实的数据管家,默默守护着项目信息、客户列表或是库存记录。它结构清晰,录入便捷,对于许多中小型应用场景来说,无疑是个得力助手。然而ÿ…...
合并多个Excel文件到一个文件,并保留格式
合并多个Excel文件到一个文件,并保留格式 需求介绍第一步:创建目标文件第二步:创建任务列表第三步:合并文件第四步:处理合并后的文件之调用程序打开并保存一次之前生成的Excel文件第五步:处理合并后的文件之…...
使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十讲)
这一期我们讲解demo中登录、ok按键的回调函数以及界面的美化,以下是上期界面的图片如图所示: 首先点击界面在右侧的工具栏中调配颜色渐变色,具体设置如下图所示: 然后是关于界面内框也就是容器的美化,具体如下图所示…...
论文笔记(八十二)Transformers without Normalization
Transformers without Normalization 文章概括Abstract1 引言2 背景:归一化层3 归一化层做什么?4 动态 Tanh (Dynamic Tanh (DyT))5 实验6 分析6.1 DyT \text{DyT} DyT 的效率6.2 tanh \text{tanh} tanh 和 α α α 的消融实验…...
Mysql之数据库基础
🌟 各位看官好,我是maomi_9526! 🌍 种一棵树最好是十年前,其次是现在! 🚀 今天来学习Mysql的相关知识。 👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更…...
shell(5)
位置参数变量 1.介绍 当我们执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量. 比如:./myshell.sh100 200,这就是一个执行shell的命令行,可以在myshell脚本中获取到参数信息. 2.基本语法 $n(功能描述:n为数字,$0代表命令…...
VARIAN安捷伦真空泵维修清洁保养操作SOP换油操作流程内部转子图文并茂内部培训手侧
VARIAN安捷伦真空泵维修清洁保养操作SOP换油操作流程内部转子图文并茂内部培训手侧...
动画震动效果
项目场景: 提示:这里简述项目相关背景: 在有的相关目中特别是在C端一般都要求做的炫酷一些,这就需要一些简易的动画效果,这里就弄了一个简易的震动的效果如下视频所示 让图标一大一小的震动视频 分析: 提…...
DB-GPT V0.7.1 版本更新:支持多模态模型、支持 Qwen3 系列,GLM4 系列模型 、支持Oracle数据库等
V0.7.1版本主要新增、增强了以下核心特性 🍀DB-GPT支持多模态模型。 🍀DB-GPT支持 Qwen3 系列,GLM4 系列模型。 🍀 MCP支持 SSE 权限认证和 SSL/TLS 安全通信。 🍀 支持Oracle数据库。 🍀 支持 Infini…...
C++23 std::invoke_r:调用可调用 (Callable) 对象 (P2136R3)
文章目录 引言背景知识回顾可调用对象C17的std::invoke std::invoke_r的诞生提案背景std::invoke_r的定义参数和返回值异常说明 std::invoke_r的使用场景指定返回类型丢弃返回值 std::invoke_r与std::invoke的对比功能差异使用场景差异 结论 引言 在C的发展历程中,…...
pymysql
参数(会导致SQL注入) import pymysql# 创建数据库连接 conn pymysql.connect(user "root",password "root",host "127.0.0.1",port 3306,database "test" )# 创建游标对象 cur conn.cursor(cursorpymysql.…...
基于Spring Boot + Vue 项目中引入deepseek方法
准备工作 在开始调用 DeepSeek API 之前,你需要完成以下准备工作: 1.访问 DeepSeek 官网,注册一个账号。 2.获取 API 密钥:登录 DeepSeek 平台,进入 API 管理 页面。创建一个新的 API 密钥(API Key&#x…...
Spring Boot集成Kafka并使用多个死信队列的完整示例
以下是Spring Boot集成Kafka并使用多个死信队列的完整示例,包含代码和配置说明。 1. 添加依赖 (pom.xml) <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId&…...
全面了解CSS语法 ! ! !
CSS(层叠样式表)是网页设计的灵魂之一,它赋予了网页活力与美感。无论是为一个简单的个人博客增添色彩,还是为复杂的企业网站设计布局,CSS都是不可或缺的工具。那么,CSS语法到底是什么样的呢?它背…...
Springboot使用ThreadLocal提供线程局部变量,传递登录用户名
文章目录 概述使用创建ThreadLocalUtil工具类在登录拦截器中使用ThreadLocal存储登录用户名在/userInfo接口中获取登录用户名 注意事项参考视频 概述 使用 创建ThreadLocalUtil工具类 utils/ThreadLocalUtil.java package org.example.utils;/*** ThreadLocal 工具类*/ Supp…...