【发布时间】:2014-08-27 18:39:29
【问题描述】:
我正在使用 C# 制作一个小型应用程序,它可以自动执行一些手动过程。我有一个 CSV 文件,我必须搜索第二列(名称为“状态”),如果状态为“清除”,那么我不需要这一行,否则我需要将此行复制到另一个文件中并保存聚合文件。此外,我还想知道如何在 c# 中(自动)删除 csv 文件的某些列。到目前为止,这是我所拥有的:(第一个按钮是“显示原始”,而第二个按钮是“更改并保存”
namespace AppExcel
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private static List<string[]> ReadAndParseData(string path, char separator )
{
var parsedData = new List<string[]>();
using (var sr = new StreamReader(path))
{
string line;
while ((line = sr.ReadLine()) != null)
{
string[] row = line.Split(separator);
string[] column = line.Split('\n');
parsedData.Add(row);
}
}
return parsedData;
}
private void DrawGridView(List<string[]> parsedData)
{
dataGridView1.ColumnCount = 47;
for (int i = 0; i < 47; i++)
{
var sb = new StringBuilder(parsedData[0][i]);
sb.Replace('_', ' ');
sb.Replace("\"", "");
dataGridView1.Columns[i].Name = sb.ToString();
}
foreach (string[] row in parsedData)
{
dataGridView1.Rows.Add(row);
}
dataGridView1.Rows.Remove(dataGridView1.Rows[0]);
}
private void button1_Click(object sender, EventArgs e)
{
List<string[]> parsedData = ReadAndParseData(@"C:/Export Data.csv", ',');
DrawGridView(parsedData);
}
private void button2_Click(object sender, EventArgs e)
{
List<string[]> parsedData = ReadAndParseData(@"C:/Export Data.csv", ',');
foreach (string[] row in parsedData)
{
if (row != parsedData[0])
{
// What to insert here??
}
}
}
private void button3_Click(object sender, EventArgs e)
{
}
}
}
【问题讨论】: