我正在尝试将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