01文字檔案讀取和CSV檔案的讀取

2021-09-02 23:34:55 字數 3280 閱讀 3916

文字檔案的讀寫主要通過**open()**所構建的檔案物件來實現。

help

(open

)

重點掌握引數

file : 乙個包含了你要訪問的檔名稱的字串值。

mode : mode 決定了開啟檔案的模式

最常用的模式有:

「r」 # 唯讀

「w」 # 寫入,如果檔案存在則先刪除原檔案,後再建立新檔案

「a」 # 寫入,如果檔案存在則從該檔案的末端開始寫入

檔案物件的方法:

#停用詞路徑

filepath=

'e:/哈工大停用詞表.txt'

#讀取停用詞,模式為「r」(可讀),檔案解碼模式是gbk

f=open

(filepath,

'r', encoding=

'gbk'

)#讀取停用詞表的一行

line=f.readline(

)print

(line)

#讀取停用詞,模式為「r」(可讀),檔案解碼模式是gbk

f=open

(filepath,

'r', encoding=

'gbk'

)#讀取停用詞表的所有行

lines=f.readlines(

)print

('返回變數型別:'

,type

(lines)

)print

(lines[:3

])

filepath2=

'e:/11/測試表.txt'

#開啟路徑filepath2,模式是「w"(可寫模式),檔案解碼模式是gbk

f=open

(filepath2,

'w',encoding=

'gbk'

)#逐行寫入停用詞表

for line_ in lines:

f.write(line_)

f.close(

)

#開啟路徑filepath2,模式是「w"(可寫模式),檔案解碼模式是gbk

f=open

(filepath2,

'w',encoding=

'gbk'

)#逐行寫入停用詞表

for line_ in lines[:2

]:f.write(line_)

f.close(

)#檢視路徑filepath2的檔案,發現只有兩行資料,原因是模式為"w"寫入方式會先刪除原來路徑filepath2的檔案,再重新寫入

#開啟路徑filepath2,模式是「a"(可寫模式,持續寫入),檔案解碼模式是gbk

f=open

(filepath2,

'a',encoding=

'gbk'

)#逐行寫入停用詞表

for line in lines:

f.write(line)

f.close(

)#檢視路徑filepath2的檔案,發現之前的兩行資料還存在,原因是模式為"a"寫入方式會在原檔案的末尾繼續寫入

csv檔案的讀寫主要通過**pandas.read_csv()**方法實現。

import pandas as pd
#檢視read_csv函式的引數

help

(pd.read_csv)

重點掌握引數

filepath_or_buffer : 路徑 url 可以是http, ftp, s3, 和 file

encoding:編碼方式

usecols: 預設none 可以使用列序列也可以使用列名,如 [0, 1, 2] or [『foo』, 『bar』, 『baz』]

header: 指定第幾行作為列名(忽略註解行),如果沒有指定列名,預設header=0; 如果指定了列名header=none

names 指定列名,如果檔案中不包含header的行,應該顯性表示header=none

#pandas讀取csv檔案的方法read_csv(),路徑引數一般不能含中文字元,錯誤示範

data=pd.read_csv(

,encoding=

'utf-8'

)

報錯資訊:oserror: initializing from file failed

#解決中文路徑的讀取方法有:法一:將中文路徑改為英文路徑;法二,先用open()函式開啟路徑,再使用read_csv讀取資料

f=open

(,encoding=

'utf-8'

)data=pd.read_csv(f)

#檢視資料前兩行

data.head(

2)

f=

open

(,encoding=

'utf-8'

)#引數usecols:讀取特定列

data=pd.read_csv(f,usecols=

['content'])

#檢視資料前兩行

data.head(

2)

f=

open

(,encoding=

'utf-8'

)#引數header:指定第幾行作為列名

data=pd.read_csv(f,header=

none

)data.head(

2)

f=

open

(,encoding=

'utf-8'

,errors=

'ignore'

)#引數names:欄位名

data=pd.read_csv(f,usecols=[4

],header=

none

,names=

['哈哈哈哈'])

data.head(

2)

#將series轉為list型別

list

(data[

'哈哈哈哈'

])

讀取文字檔案

void ctestdlg onreadinfo cfile filewrite1 testwrite1.txt cfile modecreate cfile modewrite cfile filewrite2 testwrite2.txt cfile modecreate cfile modew...

讀取和寫入文字檔案

read a text file 的這篇文章部分描述如何使用streamreader類來讀取文字的檔案。write a text file example 1 和 write a text file example 2 在各節說明了如何使用streamwriter類來向檔案寫入文字。讀取文字檔案 若...

讀取文字檔案內容

讀取文字檔案內容 param filepathandname 帶有完整絕對路徑的檔名 param encoding 文字檔案開啟的編碼方式 return 返回文字檔案的內容 public string readtxt string filepathandname,string encoding th...