python 處理文字( txt檔案)

2021-08-21 20:03:38 字數 3846 閱讀 7816

參考:

if pos != -1:  

content = content[:pos] + content_add + content[pos:]

參考:findall

注意:返回的是匹配的字串,若沒有匹配,返回,而不是什麼也不返回

參考:

keys = ['a', 'b', 'c']

values = [1, 2, 3]

dictionary = dict(zip(keys, values))

print(dictionary)

input_file = open(r'd:\test_body.txt',"r").read();

for key,value in  a_dict.items():

input_file=input_file.replace(key,value);

seek()方法:用它設定當前檔案讀/寫指標的偏移。

seek()方法的語法如下:fileobject.seek(offset[, whence])。offset引數指明偏移量,第二個引數指出第乙個引數偏移基準是**:

offset的取值可為:0,1,2;  0 表示移動到乙個絕對位置 (從檔案開始算起),1 表示移到乙個相對位置 (從當前位置算起), 2 表示對於檔案尾的乙個相對位置。」

參考:

import re

import os

class mymethod(object):

def __init__(self, file1):

self.file1 = file1

self._count = none

def count_main(self, main_str):

'''搜尋檔案中指定字串的個數

:param file_name: 檔名稱 type=str

:param main_str: 要搜尋的目標字段 type=str

:return:

'''fo = open(self.file1, "r+")

# 開啟檔案,r+:開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

# 參考:

li_list =

fo.seek(0, 0)

for s in fo.readlines():

li = re.findall(main_str, s)

if li != :

else:

continue

fo.close()

return len(li_list)

def add_str(self, file2, main_str):

''':param file_name: 原始的檔名 type = str

:param file_new_name: 新生成的檔名 type = str

:param main_str: 搜尋的字串

:return:

'''self._count = self.count_main(main_str)

fo = open(self.file1, "r+")

fo.seek(0, 0)

content = fo.read()

for i in range(1, self._count // 3 + 1):

add_list = [' id="apname' + str(i) + '" class="ap"', ' class="outer"', ' class="wifi"']

for j in range(3):

pos = content.find("")

if pos != -1:

content = content[:pos + 2] + add_list[j] + content[pos + 2:]

fo_new = open(file2, "w")

# w 開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被

# 刪除。如果該檔案不存在,建立新檔案。

fo_new.write(content)

fo_new.close()

fo.close()

return file2

def excelcoltolist1(excel_file):

# data = xlrd.open_workbook(path + '/' + file_r)

data = xlrd.open_workbook(excel_file)

sheet1 = data.sheets()[0]

nrows = sheet1.nrows

ncols = sheet1.ncols

apnames =

apinpicturenums=

for i in range(2, nrows):

apname = sheet1.cell(i, 9).value

apname = apname.strip()

apinpicturenum = sheet1.cell(i, 15).value

apinpicturenum = apinpicturenum.strip()

new_str = [apnames[i] + '" name="' + apinpicturenums[i] for i in range(len(apnames))]

dictionary = dict(zip(apinpicturenums, new_str))

return dictionary

def replace_str(self, file2, old_str, new_str, new_list_strs):

''':param file2: 需要替換某些字串的文字 type=「str」

:param old_str: 需要被替換的字串 type = "str" 比如apname

:param new_str: 將old_str 替換成new_str tupe='str' 比如 h2-1f-ap

:param new_list_strs: 在ai打點時 的順序

:return:

'''fo = open(file2, "r")

mykeys =

myvalues =

for i in range(0, self._count // 3):

mydict = dict(zip(mykeys, myvalues))

content = fo.read()

for key, value in mydict.items():

content = content.replace(key, value)

fo_new = open(self.file1, "w")

fo_new.write(content)

fo_new.close()

fo.close()

os.remove(file2)

return self.file1

file1 = "testcopy.txt"

file2 = "testcopy2.txt"

main_str = ""

mytest = mymethod(file1)

file = mytest.add_str(file2, main_str)

old_str = "apname"

new_str = "h2-1f-ap"

new_list_strs = [1,2,3]

mytest.replace_str(file, old_str, new_str, new_list_strs)

利用python處理txt檔案

前段時間做公司乙個自動翻譯專案需要處理大量的文案字段,手工去做簡直不大可能 懶 因此借用python指令碼自動化處理掉了,在此記錄一下。import linecache def outputfile i,j,n zh file zh.read decode utf 8 encode gbk igno...

python處理txt檔案操作

1.開啟檔案 方法1,這種方式使用後需要關閉檔案 f open data.txt r f.close 方法2,使用檔案後自動關閉檔案 with open data.txt r as f 開啟檔案的模式主要有,r w a r w a r 以讀方式開啟檔案,可讀取檔案資訊。w 以寫方式開啟檔案,可向檔案...

處理 TXT 文字技巧

在一些場景會碰到需要從 txt 文字檔案提取需要的 txt 文字並沒有固定的格式,所以基本上每乙個不同的 txt 文字都需要單獨寫程式,下面是一些我在專案中用到的 txt 文字處理技巧。有用到的 python 處理 txt 開啟 txt 文字 with open txt r as f 逐行讀取 tx...