㈠ python批量讀取圖片,結果顯示為0
路徑前面不要加 data_dir
importskimage.ioasio
fromskimageimportdata_dir
str='f:/zhaopian/*.jpg'
coll=io.ImageCollection(str)
print(len(coll))
㈡ python如何獲取word文件中某個關鍵字之後的表格
最好是全部都讀取到程序中,在程序中進行判斷。
本文實例講述了Python實現批量讀取word中表格信息的方法。分享給大家供大家參考。具體如下:
單位收集了很多word格式的調查表,領導需要收集表單里的信息,我就把所有調查表放一個文件里,寫了個python小程序把所需的信息列印出來
#coding:utf-8
import os
import win32com
from win32com.client import Dispatch, constants
from docx import Document
def parse_doc(f):
"""讀取doc,返回姓名和行業
"""
doc = w.Documents.Open( FileName = f )
t = doc.Tables[0] # 根據文件中的圖表選擇信息
name = t.Rows[0].Cells[1].Range.Text
situation = t.Rows[0].Cells[5].Range.Text
people = t.Rows[1].Cells[1].Range.Text
title = t.Rows[1].Cells[3].Range.Text
print name, situation, people,title
doc.Close()
def parse_docx(f):
"""讀取docx,返回姓名和行業
"""
d = Document(f)
t = d.tables[0]
name = t.cell(0,1).text
situation = t.cell(0,8).text
people = t.cell(1,2).text
title = t.cell(1,8).text
print name, situation, people,title
if __name__ == "__main__":
w = win32com.client.Dispatch('Word.Application')
# 遍歷文件
PATH = "H:\work\\aaa" # windows文件路徑
doc_files = os.listdir(PATH)
for doc in doc_files:
if os.path.splitext(doc)[1] == '.docx':
try:
parse_docx(PATH+'\\'+doc)
except Exception as e:
print e
elif os.path.splitext(doc)[1] == '.doc':
try:
parse_doc(PATH+'\\'+doc)
except Exception as e:
print e
希望本文所述對大家的Python程序設計有所幫助。
㈢ 請問大神怎樣用python批量讀取文件夾下的文件
importos
defsearch(s,path=os.path.abspath('.')):
forzinos.listdir(path):
ifos.path.isdir(path+os.path.sep+z):
print('Currnet:',path)
path2=os.path.join(path,z)
print('future:',path2)
search(s,path2)
elifos.path.isfile(path+os.path.sep+z):
ifsinz:
print(os.path.join(path,z))
withopen(path+os.path.sep+z,'r')asfr:
withopen('save.txt','a')asfw:
fw.write(path+' '+fr.read())
search('csv','.')
㈣ python對文本文件的讀有哪些方法,寫有哪些方法
1 文件讀取全文本操作
在一定場景下我們需要把文本全部內容讀取出來,進行處理。python提供三種函數讀取文件,分別是read readline readlines,
read():讀取文件的全部內容,加上參數可以指定讀取的字元。
readline():讀取文件的一行。
readlines():讀取文件的所有行到內存中。
不同場景下我們可以選擇不同函數對文件進行讀取。
1.1 方法一
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r")
txt=file.read()
# 全文本的處理
file.close()
使用read函數將文件中的內容全部讀取,放在字元串變數txt中。這樣操作適合於文本較小,處理簡單的情況,當文件較大時,這種方式處理時不合適的。一次性讀取較大的文件到內存中,會耗費較多的時間和資源。這時候分批處理效果更好。
1.2 方法二
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r")
txt= file.read(4)
# 文本的處理while txt != ""txt= file.read(4)
# 批量文本處理
file.close()
這種方法適合於分批處理文本信息,每次批量讀入,批量處理,不會對內存造成較大的壓力。
1.3 方法三
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r")for line infile.readlines():
# 處理每一行數據
file.close()
這種處理方式適合處理以行為分割特點的文本,並且文本較小,因為這種處理方式需要一次性把文件所有內容讀取到內存中。
1.4 方法四
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r") # 這里的file時文件句柄for line infile:
# 處理每一行數據
file.close()
這種方式和方法三中的區別是分行讀入,逐行處理,不會一次性把文件所有內容都讀入到內存中,對一些大文件的處理是很有效的。
2 文件寫入文本操作
文件寫入有兩種寫入函數和一種輔助支持。
write():向文件中寫入一個字元或者位元組流
writelines():將一個元素全為字元串的列表寫入到文件中 需要注意的是,writelines寫入列表元素的時候會把列表元素的內容拼接到一起寫入,不會有換行和空格 。
seek(): 輔助寫入函數offset偏移量參數代表含義如下
0 - 文件開頭
1 - 當前位置
2 - 文件結尾
2.1 方法一
file_name = input("output.txt", "w+")
text= "hello world!"file_name.write(text)
file.close()
2.2 方法二
file_name = input("output.txt", "w+")
list= ["中午","早上","晚上"]
file_name.writelines(list)for line infile:
# 讀取寫入的數據,這時候發現是沒有任何內容的
file.close()
我們增加一行代碼就可以讀取到寫入的文件內容,利用seek()函數調整寫操作指針的位置,可以實現寫操作之後的正常讀取。
file_name = input("output.txt", "w+")
list= ["中午","早上","晚上"]
file_name.readlines(list)
file_name.seek(0) # 調整寫的指針到文件的開始位置for line infile:
# 讀取寫入的數據,這時候會讀出一行寫入的數據。
file.close()
㈤ 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()