python删除csv第⼀⾏_Python⼊门基础库
⼀门计算机语⾔,最强⼤的部分是库,它使程序员仅通过简单调⽤,就实现了强⼤的功能。本篇介绍python常⽤的基础库。
1.⽇期运算
⽇常涉及很多⽇期相关的计算,⽐如:在项⽬管理中,需要⽤“启动时间+计划⼯期”来获得交付时间;在购买商品时,要通过“过期⽇期-
当前⽇期”来判断⾷品是否腐败。
python语法: ①这些接⼝由datetime库提供,因此要先⽤ “import datetime ” 导⼊模块 ②可以获取当前⽇期 “ w() ”
,也可以获取指定⽇期 “datetime(年, ⽉, ⽇, 时, 分, 秒)” ③两个时间可以直接相减,时间间隔是 timedelta 类型,它⽤ “days” “
seconds ”表达时间段 ④两个时间也可以通过⽐较运算符,直接确定早晚完整代码:
from datetime import datetime, timedelta# 当前⽇期now = w()print('当前⽇期:', end='')print(now)# 指定⽇期someDate = datetime(2020, 9, 1, 12, 0, 1) 2.读写⽂件
⽂件是存储数据的媒介,计算机通过路径识别它。写⽂件通常有2种情况,⼀种是从头覆盖写,⼀种是追加在已有的内容后⾯; 读⽂件就直
接取出全部数据。 python语法:
①打开⽂件的语法是 “with open(⽂件路径, 读写模式, encoding='utf-8') as f”
②由于“⽂件路径”中包含转义符号“\”,为了正确输出,要⽤到字符串的原样输出语法 “r'⽂本'”
③常⽤的“读写模式”有3种:'w'是覆盖,'a'是追加,'r'是读
④“encoding='utf-8'” 是为了处理中⽂
⑤“f” 代表操作的⽂件
⑥由于⽂件中的数据是多⾏⽂本,python提供了2种数据粒度的操作:多⾏和单⾏
完整 代码:
# ⽂件放在桌⾯上,程序运⾏后,可⾃⾏打开查看filePath = r'C:\Users\Administrator\'# 覆盖写 wwith open(filePath, 'w', encoding='utf-8') as f: VSCode 运⾏结果:
打开⽂件,查看内容:
3.路径和⽬录
当我们保存或读取⽂件时,不可避免要处理⽂件的路径,以及它所在的⽬录。对于⽬录的操作,主要是“创建、删除、改名、列出⽬录内
容”;对于⽂件路径的操作,主要是“合并、拆分”。
python语法: ①这些接⼝由os库提供,因此要先⽤ “import os ” 导⼊模块 ②判断路径是否存在,语法为 “ ists(路径) ”
③创建新⽬录的语法为 “ os.mkdir(路径) ”;删除空⽬录的语法为 “ os.rmdir(路径) ”④要把⽬录和它下⾯的⽂件连接到⼀起,⽣成⽂
件路径的语法为 “ os.path.join(⽬录, ⽂件名)” ;反之,要将⽂件路径拆成⽂件名和所在⽬录,语法为 “ os.path.split(路径)”⑤列举⽬
录下的内容,语法为 “ os.listdir(DIR_NEW)”⑥删除⽂件的语法为 “ os.remove(路径)”完整代码:
import osDIR = r"C:\Users\Administrator\Desktop\Dir"DIR_NEW = DIR + '_New'# ⽬录是否存在DirExists = ists(DIR)# 创建⽬录if not DirExists: os.mkdir VSCode运⾏结果:
4.读写csv
普通⽂件存储数据过于粗放,最多只能将数据粒度精确到⾏; ⽽ cs v⽂件 将数据粒 度 精确到了列,以纯⽂本形式存储表格化数据,尤其
适⽤于 数据量较⼩ 的结构化数据。 由于csv也是⽂件,所以操作⽂件的语法是相同的,仅仅是处理数据的语法不同。数据分为2部分:标
题⾏和内容⾏;标题⾏说明数据的结构,它的数据类型是列表;内容⾏存储业务数据,它的数据类型是字典。 python语法: ①这些接⼝由
csv库提供,因此要先⽤ “import csv” 导⼊模块 ②在获取写⼊流的同时、定义标题⾏,⽤ “writer = csv.DictWriter(f, fieldnames=
标题⾏)” ③写标题⾏⽤ “writer.writeheader()” ④写数据⾏⽤ “writer.writerows(字典类型的业务数据)” ⑤读取⽂件⽤
“reader = csv.DictReader(f)”,得到是字典类型的业务数据 完整 代码:
import csv# ⽂件放在桌⾯上,程序运⾏后,可⾃⾏打开查看filePath = r'C:\Users\Administrator\Desktop\csvDemo.csv'# 数据结构columns = ['语⾔', '流⾏度']# 覆盖写VSCode 运⾏结果:
打开⽂件,查看内容:
5.读写Json
不同程序之间传递数据时,⼤多使⽤json;⼏乎所有语⾔都提供了json的转换功能,python也不例外。在python中,最常见的转换场景是
字典和列表。
python语法: ①这些接⼝由json库提供,因此要先⽤ “import json” 导⼊模块 ②直接序列化,⽤ “json.dumps(字典/列表)” ③直接
反序列化,⽤ “json.loads('⽂本')” ④序列化到⽂件,⽤ “json.dump(字典/列表, ⽂件流)” ⑤从⽂件反序列化,⽤ “json.load(⽂件
流)” 完整 代码:
import jsonpython字典 = {'name': '张三', 'age': 20, 'score': 88}json⽂本 = '{"name": "李四", "age": 30, "score": 98}'# 序列化print('序列化结果:' + json.dumps(python VSCode 运⾏结果:
打开⽂件,查看内容:
6.Sqlite3
csv和json仅能存储少量的结构化数据、且读写速度慢;如果要处理⼤量数据,还得靠数据库。这其中,sqlite是⼀款简单易⽤的⼩型数据
库,⽆需安装、且⾜够应付⽇常使⽤,⽬前的版本是sqlite3。
使⽤数据库的套路是:先建⽴数据连接,再创建表结构,然后读写数据。
对于python来说,创建表结构和读写数据都是发sql,我们看⼀下它的语法:
①这些接⼝由sqlite3库提供,因此要先⽤ “import sqlite3 ” 导⼊模块 ②建⽴数据连接的语法 “ with sqlit
” ③数据连接提供了⼀个处理sql的抓⼿cursor,语法是 “ cursor = conn.cursor() ” ④发送sql的语法是 “ ute(sql, 数
据) ”,sql中的参数⽤ “?” 来占位,数据 ⑤增删改,可以通过 “ wcount ” 获得受影响的⾏数 ⑥查询结果是 元组列表,每
⾏数据是⼀个tuple 完整代码:
import sqlite3# 创建表结构def createDbStructure(db): t(db) as conn: cursor = conn.cursor() # 是否已创建 tables = ut VSCode运⾏结果:
7.Base64编码
在⽹络传输中,多媒体数据是⼆进制的,代码⽂件是普通⽂本。为了能够统⼀处理,我们约定在发送端使⽤Base64做编码,接收后再⽤python新手入门基础语法
Base64做解码。很多语⾔都提供了编/解码的⽅法,python也不例外。
python语法: ①这些接⼝由base64库提供,因此要先⽤ “import base64 ” 导⼊模块 ②编码之前,先将字符串转换为bytes对象,语
法为 “ 字符串.e ncode() ” ;同样,解码之后,要将bytes对象转换为字符串,语法为 “ 字符串. decode()” ③编码有2种,⼀种是直
接编码 “ base64.b64encode(bytes对象) ”;另⼀种是url编码 “base64 .urlsafe_b64encode (bytes对象)”,它是为了应对url⾥
的特殊字符④这⾥顺便使⽤了函数语法,“ def urlEncode(url)” 将编码和类型转换封装到了⼀起完整代码:
import base64# 编码encodedBytes = base64.b64encode('学习Python!'.encode())print('编码:', end='')print(encodedBytes)# 解码decodedBytes = base64.b64deco VSCode运⾏结果:
总结:
①基础库在各种编程场景中,使⽤频率最⾼,应该掌握
②由于太基础,在python安装包⾥已经⾃带了,⽆需单独安装
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论