Python文件处理(txt、csv文件读取)

python

打开文件

使用Python内置的方法 open()可以打开文件

file object = open(file_name [, access_mode][, buffering])

  • file_name:file_name变量是一个包含了你要访问的文件名称的字符串值
  • access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)
  • buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认

常用文件打开模式

模式描述
r以只读方式打开文件
rb以二进制格式打开一个文件用于只读
w打开一个文件只用于写入
a打开一个文件用于追加,新的内容将会被写入到已有内容之后,如果该文件不存在,创建新文件进行写入

文件读取

line=f.read()

line1=f.readline()

line2=f.readlines()

  • read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中
  • readline() 每次只读取一行
  • readlines()一次性读取文件所有行 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理

关闭文件

f.close()


 一、txt文件

读取txt文件

案例:读取stu_info.txt文件内容,并将所有文件中学生名称显示出来

f=open("stu_info.txt",'r')

# l=f.read()

# print(l)

# line1=f.readline()

# print(line1)

lines=f.readlines()

print(lines)

for line in lines:

# print(line)

name=line.split(',')[0]

age=line.split(',')[1]

city=line.split(',')[2]

print(name,age,city)

运行结果:

['Jack,25,Beijing\n', 'Bob,22,Shanghai\n', 'Harry,24,Shenzhen\n', 'Nancy,23,Chengdu']
Jack 25 Beijing

Bob 22 Shanghai

Harry 24 Shenzhen

Nancy 23 Chengdu

split()方法语法

str.split(str="", num=string.count(str))

参数:

  • str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等
  • num -- 分割次数


 二、csv文件

csv即为逗号分隔值(Comma-Separated Values,CSV),有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)

csv文件读取

案例:读取Stu_info.csv文件里所有学生信息

import csv   # 导入csv包

# 读取本地CSV文件

csv_file=csv.reader(open("Stu_info.csv",'r'))

# 循环输出每一行信息

for stu in csv_file:

print(stu)

csv文件写入

stu=['hugh',25,'Beijing']

stu1=['rain',28,'Wuhan']

# 打开文件

out=open('Stu_info.csv','a',newline='') # 'a'是追加,'w'是覆盖

# 设定写入方式

csv_write=csv.writer(out,dialect='excel')

# 写入具体内容

csv_write.writerow(stu)

csv_write.writerow(stu1)

print("Write file over!")

以上是 Python文件处理(txt、csv文件读取) 的全部内容, 来源链接: utcz.com/z/386536.html

回到顶部