※ 引述《don750421 (1+1≠2)》之銘言:
: 小弟想要依照csv檔內的資料刪除資料
: 但是csv檔內容是由,做分隔
: 假設csv檔內容為
: Date,filename
: 2011/11/30 11:11,test123.01
: 2011/11/30 11:11,test123.02
: 2011/11/30 11:11,test123.03
: 因此,我想先將字尾的.01.02.03刪除再加上.*
: 所以刪檔案時,只需要刪test123. 後方有小數點的都能刪除
: 但是,我該如何去取得csv檔欄位內的資料呢???
: 如果用FileInfo的話,可以使用GetFile
: FileInfo[] DELFileS = Dir.GetFiles(CSV_Vaule[1] + ".*");
: 是我有哪個地方想錯了嗎?
: private void chosefile_Click(object sender, EventArgs e)
: {
: openFileDialog1.InitialDirectory = @"C:\";
: openFileDialog1.FileName = "";
: openFileDialog1.Filter = ".csv檔|*.*";
: if (openFileDialog1.ShowDialog() == DialogResult.OK)
: {
: csvfilename.Text="檔名:"+openFileDialog1.SafeFileName;
: }
: }
: private void delete_file_Click(object sender, EventArgs e)
: {
: try
: {
: StreamReader MISCsvRead = new StreamReader(openFileDialog1.FileName);
: MISCsvRead.ReadLine();//跳過第一行標題,因為第一行是標題
: //如果.csv檔內還有內容則繼續讀
: while (MISCsvRead.Peek() != -1)
: {
: CSV_Line = MISCsvRead.ReadLine();
: // 分段讀欄位
: CSV_Vaule = CSV_Line.Split(',');
: if (CSV_Vaule[0].ToString() != "") //如果CSV_Vaule[0]欄位不為0
: {
: ...........該如何修改Csv_Value[1]欄位的值.....
其實 如果 Csv_Value[1]欄位的值
都是這種格式 test123.01
假設長度是固定的話
就直接移除後面兩個字元再 + .* 就可以了
參考 string.remove
http://msdn.microsoft.com/zh-tw/library/system.string.remove(v=VS.80).aspx
事實上 用文字編輯器 or excel來處理可能會快一點就是了
: }
: }
: MISCsvRead.Dispose();
: MISCsvRead.Close();
: }
: catch (Exception ex)
: {
: MessageBox.Show("發生錯誤摟");
: }
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.24.174.97