2015-02-23 79 views
-2

我想問如何讀取CSV文件並顯示CSV文件中的某些值。讀取CSV文件和顯示值

我的CSV文件看起來像這樣:

"10","20""1AA","1BB,"1CC" 
"30","40""2AA","2BB,"2CC" 
"50","60""3AA","3BB,"3CC" 

所以,我想1AA如果一個Integer是10和20之間,如果沒有任何可能的API。

我想要做的事:

如果整型(int i)以等於57,它應該返回3AA。
如果我等於33,它應該返回2AA。

現在應該

+0

可以使用流閱讀器讀取的文件,然後逐行讀取所有行的所有文件,使列表或數組,然後應用你的過濾器,讓您的需要的行,然後從這些行中獲取數據。總之嘗試一些事情,如果問題來到這裏。 – 2015-02-23 09:55:05

+0

使用可用的CSV解析器來處理邊緣情況。 – 2015-02-23 09:58:01

回答

1

使用的available CSV parser處理邊緣情況。一旦你使用它,併成功提取了現場,你可以使用:

string col2 = @"20""AA"; // literal string for demonstration purposes 
string[] tokens = col2.Split('"'); 
int num; 
if (tokens.Length == 2 && int.TryParse(tokens[0].Trim(), out num) && num >= 10 && num <= 20) 
{ 
    string whatYouWant = tokens[1]; // AA 
} 
+0

這完全不能幫助我,因爲我的CSV文件有更多的1行...請參閱我的編輯 – bramhaag 2015-02-23 10:20:52

+0

@bramhaag:這有什麼關係?如果您使用您選擇的csv-parser處理行,則可以使用適當的方法獲取所有字段(fe ['parser.ReadFields()'](https://msdn.microsoft.com/en-us/library/ microsoft.visualbasic.fileio.textfieldparser.readfields%28v = vs.110%29.aspx)與'TextFieldParser')。然後,你的問題仍然存在於字符串問題之上。如果你想查看完整的代碼,你的問題太廣泛了,因爲你確實希望我們爲你實現你的需求。 – 2015-02-23 10:25:21

+0

@bramhaag:現在我已經重讀了你編輯的問題,現在看來這是完全不同的問題。您希望根據整數參數獲取特定行的值。那麼你現在的方法有什麼問題? – 2015-02-23 10:42:48