我試圖創建將拉,閱讀和分離csv文件代碼的數組。它有四列沒有標題。我一直在網上搜索幾小時,沒有人真的似乎有答案,所以我希望有人在這裏可以。閱讀後,我需要它能夠被非常特殊地拉動,因爲它是設計的一部分。提前致謝!閱讀CSV文件中使用C#
2
A
回答
6
你的問題有點模糊,但我會試着盡我所能回答。
CSV文件是(根據定義)包含逗號分隔值的文件 - 這裏的關鍵是使用逗號作爲分隔符。就我個人而言,我發現在分析時使用不同的分隔符會減少缺陷。
我創建了以下測試CSV文件:
Column1,Column2,Column3,Column4
Row1Value1,Row1Value2,Row1Value3,Row1Value4
Row2Value1,Row2Value2,Row2Value3,Row2Value4
Row3Value1,Row3Value2,Row3Value3,Row3Value4
Row4Value1,Row4Value2,Row4Value3,Row4Value4
Row5Value1,Row5Value2,Row5Value3,Row5Value4
下面是一些代碼讀取該文件到一些簡單的結構,你可以然後操縱。您可能希望通過爲列和行(以及值)創建類來擴展此代碼。
string sFileContents = "";
using (StreamReader oStreamReader = new StreamReader(File.OpenRead("Test.csv")))
{
sFileContents = oStreamReader.ReadToEnd();
}
List<string[]> oCsvList = new List<string[]>();
string[] sFileLines = sFileContents.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
foreach (string sFileLine in sFileLines)
{
oCsvList.Add(sFileLine.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries));
}
int iColumnNumber = 0;
int iRowNumber = 0;
Console.WriteLine("Column{0}, Row{1} = \"{2}\"", iColumnNumber, iRowNumber, oCsvList[iColumnNumber][iRowNumber]);
iColumnNumber = 4;
iRowNumber = 2;
Console.WriteLine("Column{0}, Row{1} = \"{2}\"", iColumnNumber, iRowNumber, oCsvList[iColumnNumber][iRowNumber]);
請記住,值是通過列號訪問的,然後是行號。
我希望這會有所幫助。
0
所有您需要做的僅僅是把它轉換成一個byte []數組,並返回到一個字符串[建設者?]。然後分離每個條目,並像這樣解析它。
http://www.digitalcoding.com/Code-Snippets/C-Sharp/C-Code-Snippet-Convert-file-to-byte-array.html
而要轉換爲字符串:
// C# to convert a byte array to a string.
byte [] dBytes = ...
string str;
System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
str = enc.GetString(dBytes);
你必須明白你需要做一個解析器。我讓一個人吸引雅虎股票,基本上把冒號分解成數據。
0
這是一個非常簡單的,做你想要什麼樣的方式。
var lineCount = File.ReadLines(@"C:\file.txt").Count();
var reader = new StreamReader(File.OpenRead(@"C:\location1.csv"));
int[,] properties = new int[lineCount,4];
for(int i2 = 0; i2 < 4; i2++)
{
for(int i = 0; i < lineCount; i++)
{
var line = reader.ReadLine();
var values = line.Split(';');
properties[i,i2] = Convert.ToInt32(values[i2];
}
}
相關問題
- 1. 閱讀csv文件c#
- 2. 閱讀csv文件
- 3. 閱讀從FTP服務器一個CSV文件中使用C#
- 4. 閱讀XML與閱讀CSV文件java
- 5. 閱讀csv Oldb c#
- 6. 閱讀大型csv文件
- 7. 閱讀大型CSV文件
- 8. 的iOS閱讀csv文件
- 9. 問題閱讀csv文件
- 10. python閱讀csv文件
- 11. 閱讀CSV文件時NumberFormatException
- 12. 閱讀CSV文件的LINQ
- 13. 熊貓閱讀.csv文件
- 14. 閱讀並同csv文件
- 15. 閱讀CSV文件WinPython
- 16. 閱讀CSV文件在PHP
- 17. 閱讀csv文件延遲
- 18. 如何閱讀.csv文件?
- 19. CSV閱讀器或閱讀Android的CSV文件,而無需使用庫
- 20. 閱讀ASCII文本文件,使用C++
- 21. 閱讀CSV文件中的所有列?
- 22. Python閱讀列中的csv文件?
- 23. CSV文件在Python中閱讀
- 24. 閱讀csv文件列中的異常
- 25. 閱讀CSV文件中的JavaScript
- 26. 閱讀文件在C++中
- 27. 閱讀文本使用C
- 28. 閱讀csv文件,並使用python寫入另一個文件
- 29. 閱讀使用C#的XML文件
- 30. 閱讀.exe文件使用c#
如果需要解析實體,請查看CSVHelper。其上的NuGet或在這裏:https://github.com/JoshClose/CsvHelper – StuartLC
@SimonWhitehead 這是我的CSV樣子。我想把每一行都拉到一個有1(原子序數)和1.007 ....(atmoic質量)的數組中,所有這些都可以單獨調用。我試圖把各種週期表放在一起。 1,1.0079400000,氫,H 2,4.0026020000,氦氣,他 3,6.9410000000,鋰,李 4,9.0121820000,鈹,在每個原子符號後發生 – rreichel
新品系。 – rreichel