Python文件處理(txt、csv文件讀取)


打開文件

使用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!")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM