asp.net Конвертировать строку CSV в строку [] - PullRequest
7 голосов
/ 16 сентября 2008

Есть ли простой способ преобразовать строку из формата CSV в строку [] или список?

Я могу гарантировать, что в данных нет запятых.

Ответы [ 17 ]

0 голосов
/ 16 сентября 2008
separationChar[] = {';'}; // or '\t' ',' etc.
var strArray = strCSV.Split(separationChar);
0 голосов
/ 16 сентября 2008
string s = "1,2,3,4,5";

string myStrings[] = s.Split({','}};

Обратите внимание, что Split () принимает массив символов для разделения.

0 голосов
/ 16 сентября 2008
string test = "one,two,three";
string[] okNow = test.Split(',');
0 голосов
/ 16 сентября 2008

Получить строку [] всех строк:

string[] lines = System.IO.File.ReadAllLines("yourfile.csv");

Затем переберите и разбейте эти строки (это подвержено ошибкам, поскольку не проверяет запятые в полях, разделенных кавычками):

foreach (string line in lines)
{
    string[] items = line.Split({','}};
}
0 голосов
/ 17 сентября 2008

http://github.com/claco/csvdatareader/ обновлено с использованием TextFieldParser, предложенного cfeduke.

Всего в нескольких шагах от разоблачения разделителей / триммеров / типа ig, вам просто нужен код для кражи.

0 голосов
/ 17 сентября 2008

Я уже разбивал вкладки, поэтому для меня это помогло:

public static string CsvToTabDelimited(string line) {
    var ret = new StringBuilder(line.Length);
    bool inQuotes = false;
    for (int idx = 0; idx < line.Length; idx++) {
        if (line[idx] == '"') {
            inQuotes = !inQuotes;
        } else {
            if (line[idx] == ',') {
                ret.Append(inQuotes ? ',' : '\t');
            } else {
                ret.Append(line[idx]);
            }
        }
    }
    return ret.ToString();
}
0 голосов
/ 16 сентября 2008
CsvString.split(',');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...