csv 文件的读写,join,split, strip各函数用法

csv 文件的读写

# 获取当前路径
import os
import sys
path = os.path.dirname(sys.argv[0])
print(path)
# 写数据
data =[("a","b","c"),("d","e")]
for i in data:
    with open('write.csv','a',newline='')as f:
        writer = csv.writer(f)
        writer.writerow(i)
# 读数据
第一种:
reader = csv.reader(open('write.csv','r'))
print(reader)
for list_1 in reader:
    print(list_1)
第二种:    
with open('write.csv','r')as f:
   reader=csv.reader(f)
   print(reader)
   for list_1 in reader:
       print(list_1)

一般文件读写:

1.新建(打开)文件

1.1在python,使用open函数,可以打开一个已经存在的文件,或者如果该文件不存在,则会创建一个新文件。

格式如下:open(“文件名”,访问模式) ,默认的创建的目录在当前程序所在的目录

常用的mode用法:

温馨提示:频繁的移动文件指针,会影响文件的读写效率,开发中更多的时候会以 只读、只写 的方式来操作文件

以二进制形式读写文件 mode: rb,wb,ab等

如下表:

模式可做操作若文件不存在是否覆盖
r只能读报错-
r+可读可写报错
w只能写创建
w+可读可写创建
a只能写创建否,追加写
a+可读可写创建否,追加写

文件的读写操作read/write

1.写数据:使用write(“string”),可以完成向文件写入数据,注意:如果文件不存在那么创建,如果存在那么就先清空文件(覆盖),然后写入数据到文件里.

f= open("a.txt",'w')
f.write("python")
f.close()

2.读数据:使用read(size)可以从文件中读取数据,size表示要从文件中读取的数据的长度(字符个数),如果没有传入size或者为负,那么就表示读取文件中所有的数据,read()将读取的数据以字符串的形式返回。注意:

如果open是打开一个文件,那么可以不用写打开的模式,即只写 open(‘a.txt’)
如果使用read读了多次,那么后面继续使用read读取的数据是从上次读完后的位置开始的

注意:read ()方法默认会把文件的所有内容 一次性读取到内存,当然可以指定读取的字符数。如果文件太大,对内存的占用会非常严重

# 写文件
f= open('a.txt','w',encoding='utf-8')
f.write("我爱 python!\n2019")
f.close()
# 读文件
f= open('a.txt','r',encoding='utf-8')
str =f.read(5)
print(str)
f.close()
输出结果: 我爱 py
str1= f.read(2)
print(str1)
输出结果: th

3.读数据:readline(),对原文件的数据按行读取,(行的划分是\n).每次只读取一行。如果有多次读取的话,下面一次读取的偏移量是上面读取后的偏移量。

# 读文件
f= open('a.txt','r',encoding='utf-8')
str =f.readline()
print(str)
str1=f.readline()
print(str1)
f.close()
输出结果:
我爱 python!

2019

4.读数据:readlines()可以按照行的方式把整个文件中的内容进行一次性读取,读取所有行(直到结束符 EOF)并返回列表,并且返回的是一个列表,其中每一行(按照换行符进行判断一行)的数据为一个元素。

# # 读文件
f= open('a.txt','r',encoding='utf-8')
str =f.readlines()
print(str)
for i in str:
    print(i)
f.close()
输出结果:
['我爱 python!\n', '2019']
我爱 python!

2019

python \r \t \n 各种转义字符

转义字符描述
(在行尾时)续行符
\反斜杠符号
\’单引号
\”双引号
\a响铃
\b退格(Backspace)
\e转义
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数yy代表的字符,例如:\o12代表换行
\xyy十进制数yy代表的字符,例如:\x0a代表换行
\other其它的字符以普通格式输出

python中join和split区别

split 将字符串拆分成列表元素

str1 = 'a_b_c'
list1 = str1.split('_')
print(list1)

join 将列表元素连接成字符串

list1 = ['a', 'b', 'c']
str1 = ','.join(list1)
print(str1)

python strip()函数 使用方法介绍

Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)。

函数原型

声明:s为字符串,rm为要删除的字符序列

s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符

s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符

s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符

注意:

  1. 当rm为空时,默认删除空白符(包括’\n’, ‘\r’, ‘\t’, ’ ')
str1 = 'a_b_c_a_a'
str2 = str1.strip('a')
print(str2)
输出结果:_b_c_a_
str1 = 'a_b_c_a_a'
str2 = str1.lstrip('a')
print(str2)

输出结果:_b_c_a_a
str1 = 'a_b_c_a_a'
str2 = str1.rstrip('a')
print(str2)

输出结果:a_b_c_a_

python 用列表推导式 —去除列表中的\n 和空字符

list1 = ['\n', 'abc\n', ]
list2 = [x.strip() for x in list1 if x.strip() != '']
print(list2)

输出结果:['abc']
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值