我使用FileHelpers库将csv文件导入到数据库表中。我在导入文件时遇到问题,该文件的字段以文件头中的数字('800NUMBER')开头。
代码导入:
DataTable data = CommonEngine.CsvToDataTable(file, ',');
异常:
FileHelpers.FileHelpersException: The string '800NUMBER' not is a valid .NET identifier. at FileHelpers.RunTime.FieldBuilder..ctor(Strin
FileHelpers支持一个名为"RunTime记录“的特性,它允许您在运行时才知道布局时将CSV文件读入DataTable中。
是否可以使用FileHelpers在运行时以同样的方式创建CSV文件?
基于某些用户输入,必须创建的CSV文件将有不同的字段,只能在运行时知道。我可以为FileHelper引擎创建所需的类型,如其读取部分所述,但我无法确定需要以何种格式编写数据。
var engine = new FileHelpers.FileHelperEngine(GenerateCsvType());
engine.WriteStream(context.Response.Out
我的CSV文件头设置如下:
COMPANY NAME,Email,Job Title,COMPANY TYPE,CITY,FIRSTNAME,LASTNAME
我有一些代码可以读取文件中的记录:
var ofd = new OpenFileDialog();
if (ofd.ShowDialog() != DialogResult.OK) return;
_importFile = ofd.FileName;
Engine = new CsvEngine("record", ',', _importFile);
Records = Engine.ReadFile
有没有办法在没有类型的情况下使用FileHelpers?我不知道CSV文件中有什么,我只想遍历所有的单元格。我只知道第一行将包含列名,其他行将包含值。
谢谢
编辑:
var engine = new DelimitedFileEngine<object>();
但是这不起作用,这给了我一个错误: record类对象必须用DelimitedRecord或FixedLengthRecord属性进行标记
在使用FileHelpers库时,我在尝试编写.csv文件时得到一个NullReferenceException。
我已经缩小了问题的范围。当我有一个空的小数时?它抛出这个异常。它在阅读方面效果很好,只是在写作方面没有问题。
我已经包含了一个示例,它显示了与我的应用程序相同的问题:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication11
{
class Program
{
static voi
我有这个排序csv文件的代码。如何跳过读取和排序文件的第一行,因为第一行有列的名称。该文件如下所示:
ID Name Surname Age Salary
1 John Asben 33 1000
2 Adam Smith 22 1200
代码是:
private void buttonSortSave_Click(object sender, EventArgs e)
{
var sorted =
File.ReadLines(@"C:\....dat.csv")
.Select(line => new
我跟踪了的链接。获得以下代码"The record class oneRow need a constructor with no args (public or private)"的编译器错误
[<DelimitedRecord(",")>]
type oneRow=
class
[<FieldConverter(ConverterKind.Date, "M/d/yyyy")>]
val date: DateTime
val value: bool
end
let engine = new
我使用FileHelpers将一些数据写出到CSV文件中。FileHelpers很棒,因为它让我可以使用FileHelper转换器轻松地格式化各种字段。下面是一个FileHelpers DelimitedRecord的示例:
[DelimitedRecord(",")]
public class ShippedRecord
{
public string Customer;
#quouted as can contain ',' characters
[FieldQuoted]
public string Addr
我正在尝试用FileHelpers读取CSV文件(来自站点的2.0.0版本,我也尝试了Build 2.9.16,但没有用)。
我的CSV类如下所示:
[DelimitedRecord(";")]
public class RawImportCandidate
{
public string Name1;
[FieldNullValue(typeof(int?), null)]
public int? ID1;
[FieldNullValue(typeof(int?), null)]
public int? ID2;
[FieldN
我正在创建一个CSV阅读器(是的,我知道Fast CSV reader和FileHelpers)。CSV类使用CsvParser类来解析CsvReader文件。我希望使CsvReader类单元可测试,因此我希望能够在外部设置所使用的CsvParser类(同时,这样您就可以创建自己的实现)。我也不想创建一个解析器,并在正常使用时传递它。
这就是我想使用它的方式。
var reader = new CsvReader( "path/to/file.csv" );
这样做时,我可以在CsvReader的构造函数中创建CsvParser,并具有更改解析器的属性。
public ICsv
我正在尝试用FileHelpers解析这种类型的CSV文件:
Tom,1,2,3,4,5,6,7,8,9,10
Steve,1,2,3
Bob,1,2,3,4,5,6
Cthulhu,1,2,3,4,5
Greg,1,2,3,4,5,6,7,8,9,10,11,12,13,14
我想不出如何用FileHelpers来解析它。我想我应该能够做这样的事情:
[DelimitedRecord(",")]
public class MyRecord
{
public string Name;
public List<int> Values;
}
但对于Fi
我写了一个fsi脚本,它工作得很好,我想编译它,这样我就可以更容易地移动它。然而,当我编译它时,FileHelpers突然开始给出错误。
下面的代码使用。这是一个说明问题的最小工作示例,test.fsx
#r "FileHelpers.dll"
open FileHelpers
[<DelimitedRecord(",")>]
type Type =
val field1 : string
val field2 : int
override x.ToString() = sprintf "%s: %d"
我有一个DataTable,它由一个csv文件填充,有8列和大约2000行。我希望用当前存储在DataTable中的CSV值填充一个对象
如何为特定的DataTable单元格建立索引?换句话说,我希望以与二维数组类似的方式处理数据表,如下所示:
string value = array[i][j];
下面是我的代码:
DataTable d = GetDataTableFromCSVFile(file);
for (int i = 0; i < d.Rows.Count; i++)
{
for (int j = 0; j < d.Columns.Count; j++)
这里的目标是在输入csv文件之后,一个神奇的工具将输出带有csv字段的c#类。让我们来看看例子。
输入myFile.csv:
Year,Make,Model
1997,Ford,E350
2000,Mercury,Cougar
输出myFile.cs
public class myFile
{
public string Year;
public string Make;
public string Model;
}
所以,我唯一需要修复的就是属性的类型。在此之后,我将使用这个类与FileHelpers一起读取csv文件。稍后,它将被映射到EntityFramework类(使