C#读取csv文件,文件内容是N行M列的8bit二进制数据,要怎么读取为一个二维数组
时间: 2024-12-18 09:27:12 浏览: 7
在C#中,要读取CSV文件作为8位二进制数据的二维数组,可以使用`System.IO.FileStream`配合`System.Text.Encoding`以及`System.Data.DataTable`来处理。以下是一个简单的步骤说明:
1. 引入所需的命名空间:
```csharp
using System;
using System.IO;
using System.Text;
using System.Data;
```
2. 定义读取方法,假设你的CSV文件名为"binary_data.csv":
```csharp
public byte[,] ReadBinaryCSV(string filePath)
{
DataTable dataTable = new DataTable();
string[] lines = File.ReadAllLines(filePath);
// 读取每一行转换为二进制并填充到DataTable
for (int i = 0; i < lines.Length; i++)
{
string[] values = lines[i].Split(',');
byte[] rowBytes = new byte[M]; // M是你列的数量
for (int j = 0; j < M; j++)
{
int valueInt = Int32.Parse(values[j]);
rowBytes[j] = (byte)valueInt; // 将整数转换为8位二进制
}
// 将当前行添加到DataTable
var newRow = dataTable.NewRow();
newRow.ItemArray = rowBytes;
dataTable.Rows.Add(newRow);
}
// 转换为二维byte数组
byte[,] binaryData = dataTable.AsEnumerable()
.Select(row => (byte[])row.ItemArray)
.ToArray();
return binaryData;
}
```
阅读全文