㈠ 用「python」怎麼提取文件里的指定內容
python讀取文件內容的方法:
一.最方便的方法是一次性讀取文件中的所有內容並放置到一個大字元串中:
all_the_text = open('thefile.txt').read( )
# 文本文件中的所有文本
all_the_data = open('abinfile','rb').read( )
# 二進制文件中的所有數據
為了安全起見,最好還是給打開的文件對象指定一個名字,這樣在完成操作之後可以迅速關閉文件,防止一些無用的文件對象佔用內存。舉個例子,對文本文件讀取:
file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )
不一定要在這里用Try/finally語句,但是用了效果更好,因為它可以保證文件對象被關閉,即使在讀取中發生了嚴重錯誤。
二.最簡單、最快,也最具Python風格的方法是逐行讀取文本文件內容,並將讀取的數據放置到一個字元串列表中:list_of_all_the_lines = file_object.readlines( )
這樣讀出的每行文本末尾都帶有"
"符號;如果你不想這樣,還有另一個替代的辦法,比如:
list_of_all_the_lines = file_object.read( ).splitlines( )
list_of_all_the_lines = file_object.read( ).split('
')
list_of_all_the_lines = [L.rstrip('
') for L in file_object]
㈡ Python批量提取txt文件中的特定字元後的數字
2、待讀取文件
是以":"作為分隔符的數據,每一行以回車結束。此文件為XXX.train
3、讀取每一句中的漢字
1234567891011...file_train = os.path.join(rootDir,"data/train/rg_train_"+modle_date+"_"+aiscene+".train")with open(file_train, 'r')as fp:textlist = fp.readlines()for text in textlist:if ":" in text:L4ID = text.split(":")[-2]Msg = text.split(":")[-1]if query_start == Msg.strip(" "):print("Msg is in train:",Msg)...
代碼中先獲取文件,然後讀取每一行,然後以":"作為分隔符。(-1代表倒數第一個,-2代表倒數第二個)
不管是txt文件還是xml文件還是其他的,都可以用這種方法來批量替換文件中字元串:
1234567891011121314151617# -*- coding:utf-8 -*-__author__ = 'ShawDa'import globxmls = glob.glob('xml_files/*.xml')for one_xml in xmls:print(one_xml)f = open(one_xml, 'r+', encoding='utf-8')all_the_lines = f.readlines()f.seek(0)f.truncate()for line in all_the_lines:line = line.replace('dog', 'pig')line = line.replace('cat', 'bike')f.write(line)f.close()
㈢ python提取文件夾中所有子文件夾下所有文件的某一行
分兩步:
step1: 獲取子文件 --> os.walk
step2:read 文件 --> 自己寫啦
我寫了個簡版單的,你自己改權改
importos
defgetfiles(path=None):
path=os.path.abspath(path)ifpathelseos.getcwd()
forparent,folders,filesinos.walk(path):
ifnotfiles:
continue
else:
forfinfiles:
yieldos.path.join(parent,f)
defmain():
forfingetfiles():
print"openningfile%s"%f
pass
if__name__=="__main__":
main()
㈣ 怎麼使用python提取json文件中的欄位
例json文件,名字test.json,
{
"verson":"1.4.2",
"author":"johanna",
"type":"1"
}
python編碼:
首先讀取json文件內容,利用json.loads()轉化為dict類型,遍歷每一對專key,val
importjson
importos
try:
屬t_str=open('./test.json','r').read()
t_json=json.loads(t_str)
fork,vint_json.items():
printk,v
exceptException,e:
printstr(e)
㈤ python隨機提取文件中的某一列的任意一個值
需要某列的某個值?
文本格式
1 2 3
4 5 6
如果是文本的話首先f.readlines()獲得所有行,
然後用隨機函數,random.choice(array)隨機獲得列
strs.split()值轉換成列表
再用隨機函數random.choice(strs)
隨機獲得一個元素
如果是單元格的話
就是先獲取單元格的行和列
然後用隨機函數
random.randint(0, 有效行)
random.randint(0, 有效列)
table.cell_value(列,行)
就能獲取任意值了