有人可以檢查這個腳本有什么問題嗎?可以像我一樣使用“for回圈”嗎?我有多個測量檔案(1.cnv、2.cnv 等),我想從中提取以“span 1 =”和“cast”開頭的行,之后我想將所有這些行放在一個摘要中。 txt 檔案。
import re
import os
errors = []
linenum = 0
pathin = r'C:\python_test'
flist = [pathin vv for vv in os.listdir(pathin) if vv.__contains__('.cnv')==True]
find_1 = re.compile(r"span 1 =")
find_2 = re.compile(r"cast ")
for fname in flist:
for line in fname:
linenum = 1
if find_1.search(line) != None:
errors.append((linenum, line.rstrip('\n')))
if find_2.search(line) != None:
errors.append((linenum, line.rstrip('\n')))
for err in errors:
print(err[1])
with open("summary.txt", "a") as myfile: myfile.write(err[1] "\n")
uj5u.com熱心網友回復:
您可以使用 python 字串方法startswith()。這是檔案。
打開檔案后,您可以運行以下代碼:
for line in opened_file: linenum = 1
if line.startswith("time=") or line.startswith("value2="):
errors.append((linenum, line.rstrip('\n')))
uj5u.com熱心網友回復:
您可以列出所有檔案并使用 for 回圈讀取帶有 pandas 或 open() 的行。您可以將每個檔案的輸出存盤在一個新串列中,并創建一個包含輸出的新 csv 檔案。
uj5u.com熱心網友回復:
創建一個新串列來存盤您找到的行。使用 open() 函式打開檔案并對結果呼叫 readlines()。然后遍歷這些行并使用正則運算式匹配包含“time=”和“value2=”的行。如果匹配,則將該行添加到您的串列中。對每個檔案重復。處理完所有檔案后,將新的行串列寫入新檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/413561.html
標籤:
