假设我有这个CSV文件:
NAME,ADDRESS,DATE
"Eko S. Wibowo", "Tamanan, Banguntapan, Bantul, DIY", "6/27/1979"
Run Code Online (Sandbox Code Playgroud)
我想将使用双引号括起来的每个令牌存储在一个数组中,是否可以安全地执行此操作而不是使用String split()函数?目前我在RichTextBox中加载文件,然后使用其Lines []属性,我为每个Lines []元素执行循环并执行以下操作:
string[] line = s.Split(',');
Run Code Online (Sandbox Code Playgroud)
s是对RichTextBox.Lines []的引用.而且你可以清楚地看到,令牌内的逗号很容易搞乱split()函数.所以,不是以我想要的三个令牌结束,而是以6个令牌结束
任何帮助将不胜感激!
我从内存中的zip文件(要求不写入磁盘)中读取CSV文件的内容到MemoryStream中.并使用以下代码来获取人类可读的字符串
string result = Encoding.ASCII.GetString(memoryStream.ToArray());
Run Code Online (Sandbox Code Playgroud)
但是,我们希望结果是一个字符串[]来映射CSV文件中的每一行.
有没有办法自动处理?
谢谢
我知道如何阅读和显示.csv文件的一行.现在我想解析该文件,将其内容存储在数组中,并将这些数组用作我创建的某些类的值.
我想学习如何.
这是一个例子:
basketball,2011/01/28,Rockets,Blazers,98,99
baseball,2011/08/22,Yankees,Redsox,4,3
Run Code Online (Sandbox Code Playgroud)
如您所见,每个字段用逗号分隔.我创建了Basketball.cs和Baseball类,它是Sport.cs类的扩展,它包含以下字段:
private string sport;
private string date;
private string team1;
private string team2;
private string score;
Run Code Online (Sandbox Code Playgroud)
我知道这很简单,并且有更好的方法来存储这些信息,即为每个团队创建类,使日期成为DateType数据类型,以及更多相同但我想知道如何将此信息输入到类.
我假设这与getter和setter有关...我也读过字典和集合,但我想通过将它们全部存储在数组中来开始简单...(如果这有意义.. .随意纠正我).
这是我到目前为止所拥有的.它所做的就是阅读csv并在控制台上鹦鹉学舌:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace Assign01
{
class Program
{
static void Main(string[] args)
{
string line;
FileStream aFile = new FileStream("../../sportsResults.csv", FileMode.Open);
StreamReader sr = new StreamReader(aFile);
// read data in line by line
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
line = sr.ReadLine();
}
sr.Close();
} …
Run Code Online (Sandbox Code Playgroud) 我正在尝试为我们的一个Web应用程序自动化一些测试,我需要知道如何使我的Coded UI项目从CSV文件中读取数据.让我们说我想测试登录屏幕.我的CSV文件将包含一些用户名和密码.我希望我的Coded UI测试能够读取这些登录详细信息并循环遍历它们以对每组数据运行测试.
c# automated-tests data-driven-tests coded-ui-tests visual-studio-2012
在包含 的行上dgdMain.DataSource = dt;
,我收到“NullReferenceException 未处理”错误。我试图找到一个解决方案,我相信它很简单,但我显然错过了它。感谢您提供任何意见。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Dashboard
{
public partial class frmMain : Form
{
public frmMain()
{
BindingSource bindingSource = new BindingSource();
DataTable dt = Program.GetDataTableFromCSV("../../res/sampledata.csv");
dgdMain.DataSource = dt;
InitializeComponent();
}
}
}
Run Code Online (Sandbox Code Playgroud)
...这里是GetDataTableFromCSV()
:
public static DataTable GetDataTableFromCSV(string path)
{
DataTable dataTable = new DataTable();
String[] values;
values = File.ReadAllLines(path);
string[] …
Run Code Online (Sandbox Code Playgroud) 基本上,我的任务是解析这个命令行:
-p "This is a string ""with quotes""" d:\1.txt "d:\some folder\1.out"
Run Code Online (Sandbox Code Playgroud)
我需要的是将此字符串拆分为:
我搜索了(是的,我真的这么做了),但是我发现的所有例子都没有包含转义引号或者使用\"for escape symbol.