導航:首頁 > 編程語言 > python讀取整個文件

python讀取整個文件

發布時間:2022-09-24 00:24:42

python怎麼讀取txt文件

方法一:


f=open("foo.txt")#返回一個文件對象
line=f.readline()#調用文件的readline()方法
whileline:
printline,#後面跟','將忽略換行符
#print(line,end='')#在Python3中使用
line=f.readline()

f.close()

方法二:
for line in open("foo.txt"):
print line,

方法三:

f=open("c:\1.txt","r")

lines=f.readlines()#讀取全部內容

forlineinlines

printline

黑馬程序員的Python課程非常的全面系統,網上也有很多的免費教程,想學習的小夥伴,可以下載學習下。

⑵ python如何讀取excel文件

1.首先說明我是使用的python3.5,我的office版本是2010,首先打開dos命令窗,安裝必須的兩個庫,命令是:

pip3 install xlrd

Pip3 install xlwt

2.准備好excel,例如我的一個工作文件,我放在D盤/網路經驗/11.xlsx,只有一個頁簽A,內容是一些銷售數據

3.打開pycharm,新建一個excel.py的文件,首先導入支持庫

import xlrdimport xlwt

4.針對剛入門的新手,先介紹三個知識,第一個:獲取excel的sheet名稱,第二:獲取excel行數與列數,第三:獲取第幾行第幾列的具體值,這是最常用的三個知識點

5.貼出代碼,具體分析:

(1)要操作excel,首先得打開excel,使用open_workbook(‘路徑’)

(2)要獲取行與列,使用nrows(行),ncols(列)

(3)獲取具體的值,使用cell(row,col).value

workbook=xlrd.open_workbook(r'E:11.xlsx')print (workbook.sheet_names()) sheet2=workbook.sheet_by_name('A') nrows=sheet2.nrows ncols=sheet2.ncols print(nrows,ncols) cell_A=sheet2.cell(1,1).value print(cell_A)

6.要在excel里寫入值,就要使用write屬性,重點說明寫入是用到xlwt這個支援庫,思路是先新建excel,然後新建頁簽B,然後將一組數據寫入到B,最後保存為excel.xls,這里建議保存為2003的格式,大部分電腦都能打開,特別注意保存的excel的路徑是在python工作文件的目錄下面,貼出代碼:

stus = [['年', '月'], ['2018', '10'], ['2017', '9'], ['2016', '8']]Excel = xlwt.Workbook() # 新建excelsheet = Excel.add_sheet('B') #新建頁簽Brow = 0for stu in stus: col = 0 for s in stu: sheet.write(row, col, s) #開始寫入 col = col + 1 row = row + 1Excel.save('Excel.xls') #保存

關於python如何讀取excel文件,青藤小編就和您分享到這里了。如果您對python編程有濃厚的興趣,希望這篇文章可以為您提供幫助。如果您還想了解更多關於python編程的技巧及素材等內容,可以點擊本站的其他文章進行學習。

⑶ python 讀取文件

#!/usr/bin/python2.7
import random,re
f0=file('proxys.txt','r')
dat0=f0.readlines()
f0.close()
#提取含有$1sec的行(我理解你想按sec的大小排序。)
dat1=[]
for i in dat0:
dat1.append((i,re.search(r'\$(\d+)sec',i).group(1)))
#現在dat1裡面的數據是在原來的每一行前面加了一列sec的值。
dat2=[]
for i in dat1:
if i[0]==1:
dat2.append(i[1])
#現在取出了所有sec==1的行,隨機取一行
dat3=random.choice(dat2)
c1=re.search(r'((\d{1,3}\.?){4}):(\d+)',dat3).group(1)
c2=re.search(r'((\d{1,3}\.?){4}):(\d+)',dat3).group(3)

⑷ python 讀取CSV 文件

讀取一個CSV 文件

最全的

一個簡化版本

filepath_or_buffer : str,pathlib。str, pathlib.Path, py._path.local.LocalPath or any object with a read() method (such as a file handle or StringIO)

可以是URL,可用URL類型包括:http, ftp, s3和文件。對於多文件正在准備中

本地文件讀取實例:://localhost/path/to/table.csv

**sep **: str, default 『,』

指定分隔符。如果不指定參數,則會嘗試使用逗號分隔。分隔符長於一個字元並且不是『s+』,將使用python的語法分析器。並且忽略數據中的逗號。正則表達式例子:' '

**delimiter **: str, default None

定界符,備選分隔符(如果指定該參數,則sep參數失效)

delim_whitespace : boolean, default False.

指定空格(例如』 『或者』 『)是否作為分隔符使用,等效於設定sep='s+'。如果這個參數設定為Ture那麼delimiter 參數失效。

在新版本0.18.1支持

header : int or list of ints, default 『infer』

指定行數用來作為列名,數據開始行數。如果文件中沒有列名,則默認為0,否則設置為None。如果明確設定header=0 就會替換掉原來存在列名。header參數可以是一個list例如:[0,1,3],這個list表示將文件中的這些行作為列標題(意味著每一列有多個標題),介於中間的行將被忽略掉。

注意:如果skip_blank_lines=True 那麼header參數忽略注釋行和空行,所以header=0表示第一行數據而不是文件的第一行。

**names **: array-like, default None

用於結果的列名列表,如果數據文件中沒有列標題行,就需要執行header=None。默認列表中不能出現重復,除非設定參數mangle_pe_cols=True。

index_col : int or sequence or False, default None

用作行索引的列編號或者列名,如果給定一個序列則有多個行索引。

如果文件不規則,行尾有分隔符,則可以設定index_col=False 來是的pandas不適用第一列作為行索引。

usecols : array-like, default None

返回一個數據子集,該列表中的值必須可以對應到文件中的位置(數字可以對應到指定的列)或者是字元傳為文件中的列名。例如:usecols有效參數可能是 [0,1,2]或者是 [『foo』, 『bar』, 『baz』]。使用這個參數可以加快載入速度並降低內存消耗。

as_recarray : boolean, default False

不贊成使用:該參數會在未來版本移除。請使用pd.read_csv(...).to_records()替代。

返回一個Numpy的recarray來替代DataFrame。如果該參數設定為True。將會優先squeeze參數使用。並且行索引將不再可用,索引列也將被忽略。

**squeeze **: boolean, default False

如果文件值包含一列,則返回一個Series

**prefix **: str, default None

在沒有列標題時,給列添加前綴。例如:添加『X』 成為 X0, X1, ...

**mangle_pe_cols **: boolean, default True

重復的列,將『X』...』X』表示為『X.0』...』X.N』。如果設定為false則會將所有重名列覆蓋。

dtype : Type name or dict of column -> type, default None

每列數據的數據類型。例如 {『a』: np.float64, 『b』: np.int32}

**engine **: {『c』, 『python』}, optional

Parser engine to use. The C engine is faster while the python engine is currently more feature-complete.

使用的分析引擎。可以選擇C或者是python。C引擎快但是Python引擎功能更加完備。

converters : dict, default None

列轉換函數的字典。key可以是列名或者列的序號。

true_values : list, default None

Values to consider as True

false_values : list, default None

Values to consider as False

**skipinitialspace **: boolean, default False

忽略分隔符後的空白(默認為False,即不忽略).

skiprows : list-like or integer, default None

需要忽略的行數(從文件開始處算起),或需要跳過的行號列表(從0開始)。

skipfooter : int, default 0

從文件尾部開始忽略。 (c引擎不支持)

skip_footer : int, default 0

不推薦使用:建議使用skipfooter ,功能一樣。

nrows : int, default None

需要讀取的行數(從文件頭開始算起)。

na_values : scalar, str, list-like, or dict, default None

一組用於替換NA/NaN的值。如果傳參,需要制定特定列的空值。默認為『1.#IND』, 『1.#QNAN』, 『N/A』, 『NA』, 『NULL』, 『NaN』, 『nan』`.

**keep_default_na **: bool, default True

如果指定na_values參數,並且keep_default_na=False,那麼默認的NaN將被覆蓋,否則添加。

**na_filter **: boolean, default True

是否檢查丟失值(空字元串或者是空值)。對於大文件來說數據集中沒有空值,設定na_filter=False可以提升讀取速度。

verbose : boolean, default False

是否列印各種解析器的輸出信息,例如:「非數值列中缺失值的數量」等。

skip_blank_lines : boolean, default True

如果為True,則跳過空行;否則記為NaN。

**parse_dates **: boolean or list of ints or names or list of lists or dict, default False

infer_datetime_format : boolean, default False

如果設定為True並且parse_dates 可用,那麼pandas將嘗試轉換為日期類型,如果可以轉換,轉換方法並解析。在某些情況下會快5~10倍。

**keep_date_col **: boolean, default False

如果連接多列解析日期,則保持參與連接的列。默認為False。

date_parser : function, default None

用於解析日期的函數,默認使用dateutil.parser.parser來做轉換。Pandas嘗試使用三種不同的方式解析,如果遇到問題則使用下一種方式。

1.使用一個或者多個arrays(由parse_dates指定)作為參數;

2.連接指定多列字元串作為一個列作為參數;

3.每行調用一次date_parser函數來解析一個或者多個字元串(由parse_dates指定)作為參數。

**dayfirst **: boolean, default False

DD/MM格式的日期類型

**iterator **: boolean, default False

返回一個TextFileReader 對象,以便逐塊處理文件。

chunksize : int, default None

文件塊的大小, See IO Tools docs for more information on iterator and chunksize.

compression : {『infer』, 『gzip』, 『bz2』, 『zip』, 『xz』, None}, default 『infer』

直接使用磁碟上的壓縮文件。如果使用infer參數,則使用 gzip, bz2, zip或者解壓文件名中以『.gz』, 『.bz2』, 『.zip』, or 『xz』這些為後綴的文件,否則不解壓。如果使用zip,那麼ZIP包中國必須只包含一個文件。設置為None則不解壓。

新版本0.18.1版本支持zip和xz解壓

thousands : str, default None

千分位分割符,如「,」或者「."

decimal : str, default 『.』

字元中的小數點 (例如:歐洲數據使用』,『).

float_precision : string, default None

Specifies which converter the C engine should use for floating-point values. The options are None for the ordinary converter, high for the high-precision converter, and round_trip for the round-trip converter.

指定

**lineterminator **: str (length 1), default None

行分割符,只在C解析器下使用。

**quotechar **: str (length 1), optional

引號,用作標識開始和解釋的字元,引號內的分割符將被忽略。

quoting : int or csv.QUOTE_* instance, default 0

控制csv中的引號常量。可選 QUOTE_MINIMAL (0), QUOTE_ALL (1), QUOTE_NONNUMERIC (2) or QUOTE_NONE (3)

doublequote : boolean, default True

雙引號,當單引號已經被定義,並且quoting 參數不是QUOTE_NONE的時候,使用雙引號表示引號內的元素作為一個元素使用。

escapechar : str (length 1), default None

當quoting 為QUOTE_NONE時,指定一個字元使的不受分隔符限值。

comment : str, default None

標識著多餘的行不被解析。如果該字元出現在行首,這一行將被全部忽略。這個參數只能是一個字元,空行(就像skip_blank_lines=True)注釋行被header和skiprows忽略一樣。例如如果指定comment='#' 解析『#empty a,b,c 1,2,3』 以header=0 那麼返回結果將是以』a,b,c'作為header。

encoding : str, default None

指定字元集類型,通常指定為'utf-8'. List of Python standard encodings

dialect : str or csv.Dialect instance, default None

如果沒有指定特定的語言,如果sep大於一個字元則忽略。具體查看csv.Dialect 文檔

tupleize_cols : boolean, default False

Leave a list of tuples on columns as is (default is to convert to a Multi Index on the columns)

error_bad_lines : boolean, default True

如果一行包含太多的列,那麼默認不會返回DataFrame ,如果設置成false,那麼會將改行剔除(只能在C解析器下使用)。

warn_bad_lines : boolean, default True

如果error_bad_lines =False,並且warn_bad_lines =True 那麼所有的「bad lines」將會被輸出(只能在C解析器下使用)。

**low_memory **: boolean, default True

分塊載入到內存,再低內存消耗中解析。但是可能出現類型混淆。確保類型不被混淆需要設置為False。或者使用dtype 參數指定類型。注意使用chunksize 或者iterator 參數分塊讀入會將整個文件讀入到一個Dataframe,而忽略類型(只能在C解析器中有效)

**buffer_lines **: int, default None

不推薦使用,這個參數將會在未來版本移除,因為他的值在解析器中不推薦使用

compact_ints : boolean, default False

不推薦使用,這個參數將會在未來版本移除

如果設置compact_ints=True ,那麼任何有整數類型構成的列將被按照最小的整數類型存儲,是否有符號將取決於use_unsigned 參數

use_unsigned : boolean, default False

不推薦使用:這個參數將會在未來版本移除

如果整數列被壓縮(i.e. compact_ints=True),指定被壓縮的列是有符號還是無符號的。

memory_map : boolean, default False

如果使用的文件在內存內,那麼直接map文件使用。使用這種方式可以避免文件再次進行IO操作。

ref:
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html

⑸ Python隨機讀取文件實現實例

Python隨機讀取文件實現實例
這篇文章主要介紹了Python隨機讀取文件的相關資料,需要的朋友可以參考下
Python隨機讀取文件
代碼如下
importosimportrandom rootdir="d:facetrain"file_names=[]forparent, dirnames, filenamesinos.walk(rootdir): #三個參數:分別返回1.父目錄 2.所有文件夾名字(不含路徑) 3.所有文件名字 file_names=filenames # for filename in filenames: #輸出文件信息 # print("parent is" + parent) # print("filename is:" + filename) # print("the full name of the file is:" + os.path.join(parent, filename))x=random.randint(0,len(file_names)-1)print(file_names[x])
注意
1.本代碼在Python3.5上測試通過
2.rootdir參數意為你要遍歷的那個文件夾的目錄,請根據自己的實際需要自行修改

⑹ python中讀取excel文件

常用的簡單的用法:

from xlrd import open_workbook
book=open_workbook(r'C:\Users\admin\Desktop\q.xlsx')
sheet=book.sheets_names()[0]#第一個工作表名稱
sheet=data.sheet_by_name('Sheet1')#獲得第一個工作表
sheet=book.sheets()[0]#獲得第一個工作表
#獲取總行數
nrows = table.nrows
#獲取總列數
ncols = table.ncols
#工作表的數目
book.nsheets
sheet.cell(0,1)
sheet.row(0)
#讀取第二列的內容,從第二行開始,並對其求和
sum(x.value for x in sheet.col(1,start_rowx=1))
sum(sheet.col_values(1,start_rowx=1))#同上

⑺ Python如何從文件讀取數據

1.1 讀取整個文件

要讀取文件,需要一個包含幾行文本的文件(文件PI_DESC.txt與file_reader.py在同一目錄下)

PI_DESC.txt

3.1415926535
8979323846
2643383279
5028841971

file_reader.py

with open("PI_DESC.txt") as file_object:
contents = file_object.read()
print(contents)

我們可以看出,讀取文件時,並沒有使用colse()方法,那麼未妥善的關閉文件,會不會導致文件收到損壞呢?在這里是不會的,因為我們在open()方法前邊引入了關鍵字with,該關鍵字的作用是:在不需要訪問文件後將其關閉

1.2文件路徑

程序在讀取文本文件的時候,如果不給定路徑,那麼它會先在當前目錄下進行檢索,有時候我們需要讀取其他文件夾中的路徑,例如:

⑻ python3 讀取整個文件怎麼實現

試試用read()

fileH = open('test')

fileH.read()

fileH.close()

⑼ python怎麼讀取txt文件全部數據

Python 讀寫文本文件

首先需要注意的是,txt文件是具有字元編碼的,不同的txt字元編碼可能不同。具體是什麼編碼,可以用 notepad++ 等文本編輯器查看。

讀取文件建議使用 with...as... 結構,可以自動關閉文件。

withopen("text.txt","r")asf:
text=f.read()
print(text)

如果不用 with...as... 則必須手動關閉文件:

f=open("text.txt","r")
text=f.read()
f.close()
print(text)

如果讀取的文件含有中文,使用內置的open可能會報錯,這個時候要用到codecs模塊:

importcodecs
withcodecs.open("text.txt","r",encoding="utf-8")asf:
text=f.read()
print(text)

(假設 text.txt 是 utf-8 編碼)

⑽ python如何讀取文件的內容

# _*_ coding: utf-8 _*_

import pandas as pd

# 獲取文件的內容

def get_contends(path):

with open(path) as file_object:

contends = file_object.read()

return contends

# 將一行內容變成數組

def get_contends_arr(contends):

contends_arr_new = []

contends_arr = str(contends).split(']')

for i in range(len(contends_arr)):

if (contends_arr[i].__contains__('[')):

index = contends_arr[i].rfind('[')

temp_str = contends_arr[i][index + 1:]

if temp_str.__contains__('"'):

contends_arr_new.append(temp_str.replace('"', ''))

# print(index)

# print(contends_arr[i])

return contends_arr_new

if __name__ == '__main__':

path = 'event.txt'

contends = get_contends(path)

contends_arr = get_contends_arr(contends)

contents = []

for content in contends_arr:

contents.append(content.split(','))

df = pd.DataFrame(contents, columns=['shelf_code', 'robotid', 'event', 'time'])

(10)python讀取整個文件擴展閱讀:

python控制語句

1、if語句,當條件成立時運行語句塊。經常與else, elif(相當於else if) 配合使用。

2、for語句,遍歷列表、字元串、字典、集合等迭代器,依次處理迭代器中的每個元素。

3、while語句,當條件為真時,循環運行語句塊。

4、try語句,與except,finally配合使用處理在程序運行中出現的異常情況。

5、class語句,用於定義類型。

6、def語句,用於定義函數和類型的方法。

閱讀全文

與python讀取整個文件相關的資料

熱點內容
程序員留學移民 瀏覽:47
梁中間部位箍筋加密區 瀏覽:117
頻譜分析pdf 瀏覽:750
樂2怎麼升級安卓70 瀏覽:172
java中獲取日期 瀏覽:506
單片機74hc245 瀏覽:272
美國歷史上的總統pdf 瀏覽:751
程序員脫單實驗室靠不靠譜 瀏覽:458
php中間四位手機號 瀏覽:869
永旺app怎麼樣了 瀏覽:516
壓縮空氣流量計算軟體 瀏覽:649
智慧聊天app怎麼激活 瀏覽:924
一加換機備份到哪個文件夾 瀏覽:735
支撐pdf 瀏覽:417
java空文件夾刪除 瀏覽:587
安卓9跟81有什麼區別 瀏覽:912
n1藍寶書pdf 瀏覽:244
為什麼安卓機拍照那麼丑 瀏覽:695
伺服器綁定雲產品實例 瀏覽:314
程序員認真工作被開除 瀏覽:455