
發布
注冊
/
登錄txt的案例
EXCEL讀取txt文檔內容時,如何區分txt文檔的編碼格式 ¥10
問題:
在使用excel的開發功能,操控txt文檔創建仿真報告的過程中,發現有時會出現亂碼、報錯的問題。了解后發現txt文檔針對“漢字”是有區分不同編碼的。
Ansys Workbench 寫出的txt是“ANSI”編碼的文檔。
而Python或其它寫出的txt文檔有時是“utf-8”編碼的文檔。
當讀取這些txt文檔時,如果不區分編碼格式,就會導致讀入的“漢字”是亂碼。
所以在excel讀取txt文檔內容時,就需要先對txt文檔的編碼格式進行判斷,在進行讀取或轉換。
(本人在使用過程中,目前只用到了utf-8 和ANSI 兩種編碼)
在網絡上針對excel解讀txt編碼進行了檢索,知道了一些基本內容,但是沒有解決
Windows就是使用BOM來標記文本文件的編碼方式的。
當用編程的方式判斷一個文本文件的編碼方式時,如果以二進制形式讀取文件頭的前兩個字節,如果是FEFF,則表示Unicode Big Endian 編碼。如果是FFFE,則表示Unicode Little Endian 編碼。如果前三個字節是EFBBBF則表示UTF-8編碼。如果都不是,則表示是ANSI編碼
但是,好巧不巧的是,utf-8(無BOM)和ANSI兩個編碼是沒有頭部的校驗碼的,因此較難區分,沒有找到合適的答案。
當前的解決方案是利用二進制打開文檔,逐字校驗txt文檔編碼:
1. 按二進制方式打開txt文檔,讀取文檔內容為二進制數據。
2. 判斷每個數據是否符合utf-8編碼格式。
3. 不符合就是ANSI編碼,符合就是utf-8編碼。
4. 將utf-8編碼統一更改為ANSI編碼。
展開 VB讀取txt的數據
VB讀取txt的數據
1 概述
VB通常結合其他的計算工具進行相關的二次開發,在調用軟件進行計算時產生的結果文件很多都是txt格式的,或者有時候為了方便輸出會在計算軟件里面有意將想要的結果輸出為txt格式的文件進行存儲。
在VB里除了需要調用計算,還需要對txt的結果進行讀取并顯示,以及做相關的計算。VB在讀取txt數據時用到的幾個主要函數是LineInput和InputString。本次以一次實例,通過VB讀取并顯示txt文件的某些數據。
需要讀取的數據如圖1紅色方框標示。該txt文件一共100多行,需要的數據在第93行和第96行。
圖1 數據位置
2 方法
在VB里面拖曳生成一個簡單的界面,如圖2,用于顯示數據,增加一個按鈕,執行讀取和顯示操作。雙擊按鈕,進入代碼編輯界面,首先定義變量。如下所示:
圖2 VB界面
Dim m As Integer, n As Integer, i As Integer, s(1000) As String, str(1000) As String, ss(1000) As String
m = 1
n = 1
Dim input1 As Integer
Dim output1 As Integer
input1 = 1
接著讀取txt文件,讀取時先獲得VB界面得到的文件位置,采用FileOpen函數,代碼如下:
FileOpen(1, 文件位置.Text & "\linearStressResults.txt", OpenMode.Input)
得到txt文件的行數,VB讀取txt文件是逐行逐行的讀,一般輸出的結果格式都是固定的,具體位置也是固定的,因此可以采用位置控制的方法找到需要的數據。
展開 Matlab與excel、txt的交互
-mat 默認格式
實際代碼舉例:
save('d:\1.txt','data1','data2','-ASCII')
此代碼將變量data1和data2中數據保存到了D盤下的1.txt文件,使用ASCII格式存儲數據。
基于Python向Abaqus導入txt、dat數據(附abaqus中python二次開發課程)
圖3 readlines()讀入txt、dat文件到Abaqus
讀寫txt文件時需要選擇r、w、rb、wb等的模式,其釋義如圖4所示:
圖4 Python讀寫txt、dat數據到Abaqus的模式解釋
4.numpy.loadtxt()
Abaqus里已經自帶安裝了numpy,無需要像python需要額外安裝numpy。
import numpy as np
b=np.loadtxt('coordinates.txt',delimiter = ',',dtype=np.float32)
print(b)
第一行代碼主要為將numpy簡化等效為np,為了后續方便,比如np.loadtxt可直接等效為numpy.loadtxt,但長度是一樣的。
第二行代碼讀入coordinates.txt(圖5),delimiter指定讀取文件中數據的分割符,在這里為逗號,;而后面dtype為指定讀取后數據的數據類型為float32類型。需獲取該txt文件,可在公眾號里回復:coordinates.txt
第三行代碼在Abaqus里顯示b的內容如圖6所示,導入進去的b為一個array,其中忽略了逗號。在Abaqus里進行調用b的結果如圖7所示。
展開 
Workbench在DM中利用txt文件建軸類零件模型
筆者在DM中的Files下拉菜單注意到下面這個子菜單:
圖2
Import Shaft Geometry,并且點開之后發現是通過導入txt文件的方式來完成模型的建立,由此可以猜到這是Workbench針對某些固定的模型而特意編寫的一個功能,其主要是用來建立軸類零件。
導入的txt文件格式是固定的,txt文件的每一行包含四個參數:
Station ID:這個是代號,因為軸類零件一般有很多階梯段,每一段的截面都不一樣,有多少個截面就需要定義多少個Station ID,并且按照順序定義;
Length:每一個階梯段的長度;
Outer Diameter:每一個階梯段的外徑:
Inner Diameter:每一個階梯段的內徑。
這個txt文件還可以寫注釋,注釋前面加“#”。(從這個注釋符號可以猜出來這個功能是采用Python編寫的,因為Python的注釋符號也是#).
為驗證這個功能是怎樣的,新建一個txt文件,在里面根據固定格式輸入參數:
圖3
上面第一列使Station ID、第二列是長度、第三列和第四列是內外徑。
這些長度是每一段階梯段的絕對長度,第一個階梯從坐標原點起始,按照順序依次連接各個階梯段。
圖4
該txt文件的名稱為import,從上面的菜單選擇Import Shaft Geometry,選定需要導入的txt文件import.txt,注意到DM的窗口出現一個Shaft1的模型,其詳細信息如圖5所示,可以修改階梯軸的軸是哪個坐標。
圖5
用generate生成之后,窗口中出現的模型如圖6所示。
圖6
可以看到的是很多段中心線,接著進入Mechanical,劃分網格后如圖7,顯示了軸類零件的大體形狀。
圖7 網格
后續的分析就可以繼續進行了。
展開 定制界面讀取 txt 文件并且繪圖(python)
摘要:本文主要使用tkinter定制GUI,讀取txt文件,使用matplotlib繪圖。
Abaqus二次開發讀取變形后的節點坐標并輸出到txt文件中。讀取模態頻率到txt 文件中。 ¥10
這里我用一個自編函數,將節點集合變形后的坐標寫入到一個txt文件中。格式化的寫入文件,方便用此坐標來進行計算研究。
同樣有時候,需要將計算的模態頻率值提取出來。同樣用一個函數將模態頻率提取出來,放進txt文件中,方便后續研究。
讀取的節點結果如下圖所示:
接觸分析中的橡膠圈密封分析實例附帶TXT
教學視頻,接觸分析主要采用接觸向導進行
過盈裝配分析.txt
密封圈分析命令流.txt
橡膠密封圈分析.zip
以txt文本格式在adina中輸入點的注意事項
在操作軟件adina的幾何建模時,以txt文檔格式輸入點坐標信息是可行方法之一,下面就對具體操作細節說明下。
1 根據幾何模型草圖創建需要輸入的點坐標txt格式文本。第一行不能輸入點的坐標信息。每列之間的輸入值以tab鍵間隔開,每行的值包括4項:第一列是點序號,第二列至第四列分別是x1、x2、x3值,在不同的坐標系下,x1、x2、x3代指不同的值,詳見adina手冊。換行以enter鍵為主操作,方向鍵為輔助操作,以方便改動坐標信息。
2 創建自己要使用的坐標系類型。在adina中單擊Define Points,Point coordinates對話框中的 Default Coordinate System:0是直角坐標系(即Cylindrical:笛卡爾),根據實際需要創建Cylindrical(柱坐標系)、Spherical(球坐標系),并保持Default Coordinate System:為自己創建的點坐標信息的主要所屬坐標系。
3 在Point Coordinates對話框中單擊Import,找到并打開坐標信息所在的文檔,則點坐標信息得以輸入。
4 在坐標表格中的System列下,依據Default Coordinate System:值,選擇其它坐標系定義下的點所屬的坐標系。
展開 CATIA中導出參數值到excel或者txt文本的兩種方法
選擇導出txt文本到本地,打開txt文本便可以看見我們導出的參數。
關于設計表的具體操作方法可以參考我們以前的講解,如下鏈接,點擊跳轉:
如何在CATIA中建立一個標準零件庫?----- 200個CATIA小技巧持續更新中~~
01
方法二
第二種方法就是:采用CATIA 宏代碼批量導出參數值到excel文件當中,下面直接給出相關代碼,大家可以自行研究,并進行改編。
MSC fatigue 疲勞分析實例指導教程 實例大全
MSC fatigue 疲勞分析實例指導教程 實例大全
weld.txt
code.txt
key.txt
keyhole.txt
MSC.Patran.pdf
notch01.txt
notch02.txt
notch03.txt
notch04.txt
notch05.txt
notch06.txt
notch07.txt
notch08.txt
notch09.txt
notch10.txt
展開 
yolov7-pytorch可用于訓練自己的數據集
訓練步驟
a、訓練VOC07+12數據集
數據集的準備
本文使用VOC格式進行訓練,訓練前需要下載好VOC07+12的數據集,解壓后放在根目錄
數據集的處理
修改voc_annotation.py里面的annotation_mode=2,運行voc_annotation.py生成根目錄下的2007_train.txt和2007_val.txt。
開始網絡訓練
train.py的默認參數用于訓練VOC數據集,直接運行train.py即可開始訓練。
訓練結果預測
訓練結果預測需要用到兩個文件,分別是yolo.py和predict.py。我們首先需要去yolo.py里面修改model_path以及classes_path,這兩個參數必須要修改。
model_path指向訓練好的權值文件,在logs文件夾里。
classes_path指向檢測類別所對應的txt。
完成修改后就可以運行predict.py進行檢測了。運行后輸入圖片路徑即可檢測。
b、訓練自己的數據集
數據集的準備
本文使用VOC格式進行訓練,訓練前需要自己制作好數據集,
訓練前將標簽文件放在VOCdevkit文件夾下的VOC2007文件夾下的Annotation中。
訓練前將圖片文件放在VOCdevkit文件夾下的VOC2007文件夾下的JPEGImages中。
數據集的處理
在完成數據集的擺放之后,我們需要利用voc_annotation.py獲得訓練用的2007_train.txt和2007_val.txt。
修改voc_annotation.py里面的參數。第一次訓練可以僅修改classes_path,classes_path用于指向檢測類別所對應的txt。
訓練自己的數據集時,可以自己建立一個cls_classes.txt,里面寫自己所需要區分的類別。
展開 OpenFoam Linux 命令指南
echo "Hello World" > file1.txt
創建一個包含文本HelloWorld的新文件file1.txt
mkdir newDir :創建一個新目錄newDir
cp file1.txt file2.txt
通過復制file1.txt創建一個新文件file2.txt
mv file2.txt newDir1/
將file2.txt移動到newDir目錄
cp -r newDir1 newDir2
將newDir1的目錄和內容(-r =“遞歸”)復制到新目錄newDir2
mv file1.txt file3.txt
重命名file1.txt,例如 file3.txt
rm file3.txt :刪除file3.txt
rm -rf newDir1 :刪除newDir1目錄和內容
cp newDir2/file2.txt file1.txt
將file2.txt從newDir1目錄復制到當前目錄中的file1.txt
打印到終端
有時,將文本文件打印到終端是很有用的。
cat file1.txt :將file1.txt文件打印到終端
less $ WM_PROJECT_DIR/Allwmake
滾動終端中的Allwmake文件;鍵入<SPACE>滾動,Q退出
head -10 $ WM_PROJECT_DIR/Allwmake
打印Allwmake的前10行
tail -5 $ WM_PROJECT_DIR/Allwmake
打印Allwmake的最后10行
表達式匹配
使用grep命令搜索表達式的文件可能很有用。
展開 做了一件有趣的事
txt_path = "F:\遙感家園素材\網站導航\結果數據.txt"
write_txt = open(txt_path, "a")
write_txt.writelines(pic_url)
write_txt.writelines(link)
write_txt.writelines(name)
write_txt.writelines(desc)
write_txt.writelines(author)
write_txt.close()
except:
# 讀取失敗的txt
txt_path2 = "F:\遙感家園素材\網站導航\失敗網址.txt"
write_txt2 = open(txt_path2, "a")
write_txt2.writelines(linkS[i]+"\n")
write_txt2.close()
driver.quit()
2截圖壓縮
由于一個導航頁包含幾十個圖片,為了提高網站的訪問速度,選擇對所有圖片進行壓縮。
展開 真正手把手教你玩轉Git
如下:
下面先看下demo如下演示:
我在版本庫testgit目錄下新建一個記事本文件 readme.txt 內容如下:11111111
第一步:使用命令 git add readme.txt添加到暫存區里面去。如下:
如果和上面一樣,沒有任何提示,說明已經添加成功了。
第二步:用命令 git commit告訴Git,把文件提交到倉庫。
現在我們已經提交了一個readme.txt文件了,我們下面可以通過命令git status來查看是否還有文件未提交,如下:
說明沒有任何文件未提交,但是我現在繼續來改下readme.txt內容,比如我在下面添加一行2222222222內容,繼續使用git status來查看下結果,如下:
上面的命令告訴我們 readme.txt文件已被修改,但是未被提交的修改。
把文件添加到版本庫中。
首先要明確下,所有的版本控制系統,只能跟蹤文本文件的改動,比如txt文件,網頁,所有程序的代碼等,Git也不列外,版本控制系統可以告訴你每次的改動,但是圖片,視頻這些二進制文件,雖能也能由版本控制系統管理,但沒法跟蹤文件的變化,只能把二進制文件每次改動串起來,也就是知道圖片從1kb變成2kb,但是到底改了啥,版本控制也不知道。
接下來我想看下readme.txt文件到底改了什么內容,如何查看呢?可以使用如下命令:
git diff readme.txt 如下:
如上可以看到,readme.txt文件內容從一行11111111改成 二行 添加了一行22222222內容。
展開