我正在嘗試將CSV讀取到數據表中。在不知道結構的情況下將CSV讀取到數據表中
CSV可能有數百列,最多隻有20行。
它會是這個樣子:
+----------+-----------------+-------------+---------+---+
| email1 | email2 | email3 | email4 | … |
+----------+-----------------+-------------+---------+---+
| ccemail1 | anotherccemail1 | 3rdccemail1 | ccemail | |
| ccemail2 | anotherccemail2 | 3rdccemail2 | | |
| ccemail3 | anotherccemail3 | | | |
| ccemail4 | anotherccemail4 | | | |
| ccemail5 | | | | |
| ccemail6 | | | | |
| ccemail7 | | | | |
| … | | | | |
+----------+-----------------+-------------+---------+---+
我想使用genericparser此;不過,我相信它需要你知道列名。
string strID, strName, strStatus;
using (GenericParser parser = new GenericParser())
{
parser.SetDataSource("MyData.txt");
parser.ColumnDelimiter = "\t".ToCharArray();
parser.FirstRowHasHeader = true;
parser.SkipStartingDataRows = 10;
parser.MaxBufferSize = 4096;
parser.MaxRows = 500;
parser.TextQualifier = '\"';
while (parser.Read())
{
strID = parser["ID"]; //as you can see this requires you to know the column names
strName = parser["Name"];
strStatus = parser["Status"];
// Your code here ...
}
}
有沒有辦法在不知道列名的情況下將這個文件讀入數據表?
[0] [1] ........ – Paparazzi 2012-07-19 21:46:53
CSV意味着真的用逗號分隔嗎?總是有頭或不是? '...'意味着可能有更多的列,而你不知道有多少或這個列是空的? – 2012-07-19 21:47:29
@TimSchmelter是的,總是會有一個標題 – 2012-07-19 21:47:50