我使用streamreader读取.csv文件,然后我需要拆分值并将它们放入字典中。到目前为止我有:
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
Dictionary<string, string> dict = new Dictionary<string, string>();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
using (StreamReader reader = new StreamReader("textwords0.csv"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
string[] parts = line.Split(',');
dict.Add(parts[0], parts[1]);
}
}
}
我一直收到错误“无法从'string []'转换为'string'”,但无法解决如何解决问题。
提前致谢!
更新: ...我不小心把csv文件保持打开并且现在正在工作,抱歉浪费时间,我们认为我有一个不同的电子表格打开,一些非常有用的建议,但感谢所有的帮助!
答案 0 :(得分:28)
如果您正在使用 .NET 4.0 ,以下内容非常简洁,应该完成同样的事情:
var dict = File.ReadLines("textwords0.csv").Select(line => line.Split(',')).ToDictionary(line => line[0], line => line[1]);
答案 1 :(得分:0)
错误实际上是因为','您正在输入。它需要一个“数组”的字符来分割。以下是使用string.split进行拆分的示例方法。
string[] parts = line.Split(new string[] { "," }, StringSplitOptions.None);
希望这会有所帮助。 这是假设这是错误来自你没有指定的那一行。