数据⽂件的读写操作
⼀、数据的读取
1、
open()函数打开⽂件
read()函数读取⽂件中的所有内容
lsm=open('a.txt',mode='r')#r指读⼊,w指写⼊
ad()
lsm.close()#关闭⽂件,否则⽂件会⼀直被python占⽤,不能被其他进程使⽤
2、在操作后⾃动关闭⽂件
with open('a.txt')as f:
ad()
print(content)
3、指定读取的字符数
lsm=open('a.txt',mode='r')
ad(5)
lsm.close()
⼆、数据的写⼊
lsm=open('a.txt',mode='w')
content=lsm.write('hello.world!')
lsm.close()
三、⽂本⽂件的操作
txt⽂件或csv(逗号分隔值⽂件格式)
1、readline()每次读⼊⼀⾏数据
2、readlines()⼀次性读⼊所有数据
(1)将读⼊的每⾏数据存储为⼀个字符串,仍包含换⾏符,得到由每⾏字符串组成的列表。
(windows系统的换⾏符是\r\n,linux系统的换⾏符号是\n)
(2)strip() ⽅法⽤于移除字符串头尾指定的字符(默认为空格或换⾏符,\r\n\t)或字符序列。
注意:该⽅法只能删除开头或是结尾的字符,不能删除中间部分的字符。
(3)对读⼊的数据使⽤for循环对每⼀个元素(每⾏字符串)去除换⾏符,并以\t的形式对字符串进⾏分割,返回⼀个列表
lsm=open('a.txt',mode='r')
adlines()
lsm.close()
new_content=[]
for word in content:
tmp=word.strip()
tmp=tmp.split('\t')
new_content.append(tmp)
print(new_content[0])#返回第⼀⾏内容分割后的列表
print(new_content[1])#返回第⼆⾏内容分割后的列表
>>>['wang','lulu','#']
>>>['hu','bu','li']
3、write()逐次写⼊⽂件,writelines()将列表⾥的数据⼀次性写⼊
4、写⼊⽂件时,join()⽅法将每个变量数据以\t的形式合成⼀个字符串,需要换⾏时,在每条数据后⾯加换⾏符\n
lsm=open('a.txt',mode='w')
content=[['wang','lulu','#'],['hu','bu','li']]
for word in content:
word='\t'.join(word)
word=con+'\r\n'#\n
lsm.write(word)
lsm.close()
>>>
wang lulu #
hu bu li
5、csv⽂件
(1)读取
import csv
path="data/samename.csv"
lsm=open(path,'r',encoding='utf-8',errors='ignore')#utf-8避免出现gbk不能解码⽂件字符的问题ader(lsm)
content=list(reader)
lsm.close()
print(reader)
print(content[0])
>>><_ader object at 0x000001EC984D5D48>
>>>['id\tname\tSim_basic\tSim_research\tSim_experience\tsame_number']
(2)写⼊
path1="data/write_samename.csv"
lsm1=open(path1,'w',encoding='utf-8',errors='ignore')
writer=csv.writer(lsm1)
writer.writerows(content)
lsm1.close()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论