看板 C_Sharp 關於我們 聯絡資訊
原始資料如下 ---- Peak Type a0 a1 a2 a3 1 BG1st[UDF4] 5.83484411 -0.0689749 2 Voigt Amp 1.53274934 -19.800359 0.47166280 0.14278921 Measured Values Peak Type Amplitude Center FWHM Asym50 FW Base 1 BG1st[UDF4] 7.29711128 -21.200000 0.00000000 0.00000000 2 Voigt Amp 1.53274934 -19.800359 0.85969834 1.00000000 Peak Type Anlytc Area % Area Int Area % Area 1 BG1st[UDF4] Unknown 18.0272318 92.6194949 2 Voigt Amp 1.49472135 1.43652346 7.38050513 Total 19.4637553 100.000000 ---- 我的程式是下面這樣 已經把資料內容弄成string array 但是要輸出想要資料的時候還是有問題 ex. 我想要輸出有關peak 2的a0 a1 a2 a3及 Int Area 要輸出哪個peak的資料 我是弄成由使用者來輸入決定 因為要的資料不一定都是peak 2 有試過用StartWith 來判斷想要的字串 寫出來可以跑但輸出檔案太大開不起來 冏 所以我想我一定是有啥誤會 就先把原本寫的那些拿掉了 希望能有夠進一步的指點 謝謝 textBox1是我的資料來源 textBox2是想要的peak textBox3是要輸出的檔案名稱 ------ private void button1_Click(object sender, EventArgs e) { StreamReader reader = new StreamReader(textBox1.Text); string[] arrayStrings = reader.ReadToEnd().Split('\n'); string[] fi_num = arrayStrings[0].Split('\\'); string[] fi_num2 = fi_num[fi_num.Length - 1].Split('.'); FileInfo output = new FileInfo("D:\\0CSharp\\" + textBox3.Text + ".txt"); if (output.Exists) { StreamWriter txtwriter = output.AppendText(); txtwriter.WriteLine(fi_num2[0]); for (int i = 0; i != (arrayStrings.Length); i++) { string wantdata = textBox2.Text; string row = arrayStrings[i].TrimStart(); txtwriter.WriteLine(row); } txtwriter.Flush(); txtwriter.Close(); } else { StreamWriter txtwriter = output.CreateText(); txtwriter.WriteLine(fi_num2[0]); for (int i = 0; i != (arrayStrings.Length); i++) { string wantdata = textBox2.Text; string row = arrayStrings[i].TrimStart(); txtwriter.WriteLine(row); } txtwriter.Flush(); txtwriter.Close(); } } ---------- 再次感謝 各位能有耐心看完 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.22.21
soup514:善用debug 看看寫的東西跟你想的有沒有一致 03/21 20:46
soup514:看資料fi_num fi_num2 都一樣是a0a1那行 到底要split什麼 03/21 20:50
ricaro:抱歉 那一行是資料的最開頭有一行是檔案來源 03/21 21:10
ricaro:所以我用Split把檔案的檔名給截出來 因為那部份沒問題 03/21 21:10
ricaro:我就沒有把原始資料的那部份也放上來了 抱歉 03/21 21:11
soup514:欄位如果是固定長度就用substring去取出想要的數值啊 03/21 23:14
ricaro:我目前沒想到怎麼找到符合輸入條件的字串 03/22 09:17
ricaro:之前是先用Trim把空格除掉 再用startwith 03/22 09:17
ricaro:不知道是不是語法有誤 寫出來可以跑 但輸出檔案太大 03/22 09:18
ricaro:輸出的結果開不起來 應該是我寫的有問題 03/22 09:19
ricaro:所以上來求助 03/22 09:25
soup514:因為一直append吧 每次刪掉 還是會檔案太大? 03/22 20:29
soup514:你這段程式 就只是把讀進來的東西 又一行一行寫出去而己 03/22 20:30
ricaro:因為本來要用來判斷所需資料的那部份有問題 所以刪掉了 03/24 20:43
ricaro:還是我把原本有問題的那部份也放上來? 03/24 20:44