在某些自由许可下,是否有一个很好的免费实施CSV解析器?SuperCSV for Java的一些对应物,也许是一个端口?
我需要将数据集导出为CSV文件.
我花了一段时间搜索一组规则,并意识到编写CSV文件时有很多规则和例外.
http://knab.ws/blog/index.php?/archives/3-CSV-file-parser-and-writer-in-C-Part-1.html http://bytes.com/topic/c- sharp/answers/236875-problems-streamwriter-output-csv http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/0073fcbb-adab-40f0-b768-4bba803d3ccd
所以现在不是用逗号分隔字符串的简单过程,我已经搜索了现有的CSV编写器,无论是第三方还是(希望!)都包含在.net框架中.
编辑:新链接:http: //www.thinqlinq.com/Post.aspx/Title/LINQ-to-CSV-using-DynamicObject-and-TextFieldParser
TextFieldParser是一个VB对象(可以从C#引用),它将自动解析CSV文件.:)
我想知道是否有人知道任何方便的.Net(2.0 - > 3.5和4.0)库可用于生成格式正确的CSV文件.
此外,如果有任何规则集用于生成CSV文件.
有很多关于CSV阅读器和解析CSV文件的细节,但是没有多少关于写作(好吧,我知道它正好相反:P).
http://www.codeproject.com/KB/database/CsvReader.aspx
任何帮助将非常感激 :)
我发现了另一篇文章,其中包含一些更详细的CSV规则:http: //www.creativyst.com/Doc/Articles/CSV/CSV01.htm
一个简洁的第三方库是Linq-to-CSV(非框架库):http: //www.codeproject.com/KB/linq/LINQtoCSV.aspx
谢谢大家的帮助.我已经决定最好的解决方案是创建一个简单的静态类,它将进行特殊的字符替换(Chris提到).
如果我需要Linq查询我的CSV文件,我会查看Linq-to-CSV的CodeProjects实现.
再次感谢 :)
如果我有一个名为"Car"的对象列表:
public class Car
{
public string Name;
public int Year;
public string Model;
}
Run Code Online (Sandbox Code Playgroud)
如何将对象列表转换为例如List <Car>到csv?
我有对象列表类型Person.这个类有很多属性,我需要它们都以逗号分隔的列表,所以我可以在以后用于Csv文件.
我已经使用foreach并添加了每个属性,用逗号手册等分隔它.
const string commaSeparator = ",";
foreach (var item in individualsInformation)
{
csv.AppendLine(item.ReferenceNumber + commaSeparator + item.FirstName + commaSeparator +
item.Surname + commaSeparator + item.MiddleName + commaSeparator +
item.Address1 + commaSeparator + item.Address2 + commaSeparator +
item.Address3 + commaSeparator + item.Address4 + commaSeparator +
item.City + commaSeparator + item.PostalCode + commaSeparator +
item.Country + commaSeparator + item.DateOfBirth.ToString() + commaSeparator +
item.ID + commaSeparator + item.Gender + commaSeparator +
item.Component + commaSeparator + item.NationalID + commaSeparator +
item.SubSystemID + commaSeparator …
Run Code Online (Sandbox Code Playgroud) 如何从通用对象列表创建 csv 文件?在示例中,分子列表包含 3 个 Molecule 类型的对象:
namespace example_reactioncalc
{
class Program
{
public class Molecule
{
public double property_A { get; set; }
public double property_B { get; set; }
}
public static Molecule Reaction(Molecule molecule_1, Molecule molecule_2)
{
Molecule reacted_molecule = new Molecule();
reacted_molecule.property_A = molecule_1.property_A + molecule_2.property_A;
reacted_molecule.property_B = (molecule_1.property_B + molecule_2.property_B) / 2;
return reacted_molecule;
}
static void Main(string[] args)
{
// Initiation of the list of molecules
List<Molecule> molecules = new List<Molecule>();
// Adding two …
Run Code Online (Sandbox Code Playgroud)