다음과 같이 쉼표로 구분 된 문자열이 있습니다.
string myString = "1,a,b,C1,,#2,d,e,C2,,#3,f,g,C3,,#4,h,i,C4,,#";
이것은 기본적으로 리더를 사용하여 파일에서 읽는 csv 파일의 데이터입니다.
위의 문자열에서 ','는 데이터 구분자를 나타내고 '#'은 파일의 EOL을 나타냅니다.
myString = myString.TrimEnd('#'); //Removing extra # in the end.
//Result of above 1,a,b,C1,,#2,d,e,C2,,#3,f,g,C3,,#4,h,i,C4,,
위를 다차원 배열로 변환하고 각 행 데이터의 값을 읽고 내 자신의 json을 만들고 싶습니다.
그래서 아래 코드로 시작했습니다. 이로 인해 행 및 열 수가 표시됩니다.
int rowCount = result.TrimEnd('#').Split('#').Count();
int colCount = result.TrimEnd('#').Split('#')[0].TrimEnd(',').Split(',').Length;
//Defining my object which I want to fill.
JObject myObject = new JObject();
아래에서 각 행과 열에서 데이터 값을 가져 오는 행과 열을 반복하고 싶습니다.
for (int row = o ; row <= rowCount; row++)
{
for (int col = 0; col <= colCount; col++)
{
//So here I want to do something like:
var rowValue = multiArray[row][col];
//After getting the row value below is the logic to add to my object
if(col == 0)
{
myObject.Add("first", rowValue);
}
else if(col == colCount)
{
myObject.Add("last", rowValue);
}
else
{
myObject.Add(col, rowValue);
}
}
}
그래서 내 질문은 어떻게 내 코드에서 다차원 배열 "multiArray"를 만들 수 있는가입니다.
내 json의 예 :
{
"first": 1
"1": a,
"2": b,
"last": C1
},
{
"first": 2
"1": c,
"2": d,
"last": C2
}
다음 코드는 다차원 배열을 만들고 채우지 만 데이터에 문제가 있습니다. 여분의 쉼표로 인해 json은 샘플 json처럼 보이지 않습니다.
string myString = "1,a,b,C1,,#2,d,e,C2,,#3,f,g,C3,,#4,h,i,C4,,#".TrimEnd('#');
var rows = myString.Split('#');
var rowCount = rows.Length;
var columnCount = rows[0].Split(',').Length;
string[,] multiArray = new string[rowCount, columnCount];
for (int i = 0; i < rowCount; i ++)
{
var values = rows[i].Split(',');
for (int j = 0; j < columnCount && j < values.Length; j++)
{
multiArray[i,j] = values[j];
}
}
내가 얻은 결과는 각 행에 4 개의 값만있는 4x6 배열이 있다는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다