Tag: csv

Microsoft.ACE.OLEDB.12.0 CSV ConnectionString

我知道这种问题会不时被问到,但我找不到任何令人满意的解决方案。 如何使用MS ACE OLEDB 12打开CSV文件? 我尝试使用以下代码。 DbConnection connection = new OleDbConnection(); connection.ConnectionString = “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Documents;Extended Properties=\”Text;HDR=Yes\””; connection.Open(); DbCommand cmd; cmd = connection.CreateCommand(); cmd.CommandText = “SELECT * FROM [Mappe1#csv]”; DbDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { for (int i = 0; i < reader.FieldCount; i++) Console.Write("(" + reader.GetValue(i).ToString() + ")"); Console.WriteLine(); } cmd.Dispose(); connection.Dispose(); Console.WriteLine("Done"); Console.ReadKey(); […]

正则表达式以逗号分割,除非引用

除了用双引号括起来之外,在逗号(,)上拆分的正则表达式是什么? 例如: max,emily,john = [“max”, “emily”, “john”] 但 max,”emily,kate”,john = [“max”, “emily,kate”, “john”] 希望在C#中使用: Regex.Split(string, “PATTERN-HERE”); 谢谢。

CSV解析

我正在尝试使用C#来解析CSV。 我使用正则表达式来查找”,”并且如果我的标题计数等于我的匹配计数则读取字符串。 如果我有一个像这样的值,这将不起作用: “a”,””b”,”x”,”y””,”c” 然后我的输出是: ‘a’ ‘”b’ ‘x’ ‘y”‘ ‘c’ 但我想要的是: ‘a’ ‘”b”,”x”,”y”‘ ‘c’ 我可以使用任何正则表达式或任何其他逻辑吗?

在C#中创建动态变量名

我正在尝试用C#编写一个简单的角色扮演游戏,以便更熟悉该语言。 我有一个类从CSV文件加载数据,创建一个对象,并将其放在字典中。 因为游戏的每个方面都有不同的数据(项目,演员,技能等),所以我将每个方面都设置为一个类,但这要求我为每个方面重新实现一个Load()方法。 在做了5到6次之后,我想知道是否有更好的方法来实现它。 基本上,我想要做的是解析包含标题的CSV的第一行,并将它们用作类变量名。 目前,它们是作为字典关系实现的,所以我会做SomeClassInstance.dict [“id”],其中我理想地输入SomeClassInstance.id,它完全是从文件的内容生成的。 那是一件事吗? 我该怎么做呢?

在CSV文件中写入C#对象列表

我有一个C#对象有8个大小为200的数组元素。我需要将这些数组打印到相应标签上的CSV文件中。 数据可能包含string,int和double。 例如: 时间1时间2日时间4时间4时间5时间6时间7 1 5 9 Mon 7.0 8 9 5 NA 2 3 3 。 。 200 200 200 Sun 200 200 200 200 200 哎呀,time1等是标签(Header)数据(8个列表有200个元素)应该在这些标签下写入。 感谢您的回复!

如何使用C#处理CSV文件中的换行符?

我有一个Excel电子表格在C#中转换为CSV文件,但在处理换行符时遇到问题。 例如: “John”,”23″,”555-5555″ “Peter”,”24″,”555-5 555″ “Mary,”21″,”555-5555” 当我读取CSV文件时,如果记录没有以双引号(“)开头,那么就会出现换行错误,我必须将其删除。我有一些来自互联网的CSV读取器类但我担心它们在换行时会失败。 我该如何处理这些换行符? 非常感谢大家的帮助。 heres是我到目前为止所做的,我的记录有固定的格式,一切都从一开始 JTW;…;….;…; JTW;…;…;…. JTW;….;…;.. ..;…;… (wrong record, line brak inserted) JTW;…;… 所以我检查了; 在每行的[3]位置。 如果我写的是真的,如果假病附加在最后*删除换行符) 我现在遇到问题,因为我将文件保存为txt。 顺便说一句,我通过在excell中保存为csv将excell spreadshit转换为csv。 但我不确定客户是否这样做。 所以作为TXT的文件是完美的。 香港专业教育学院检查了记录和总数。 但现在我必须将它转换回csv,我真的很想在程序中做到这一点。 有人知道吗? 这是我的代码: namespace EditorCSV { class Program { static void Main(string[] args) { ReadFromFile(“c:\\source.csv”); } static void ReadFromFile(string filename) { StreamReader SR; StreamWriter SW; SW […]

使用CsvHelper将CSV中的所有值读入List

所以我一直在读我不应该编写自己的CSV读写器,所以我一直在尝试使用通过nuget安装的CsvHelper库。 CSV文件是灰度图像,行数是图像高度,数字列是宽度。 我想将行逐行读入单个List或List 。 我到目前为止的代码是: using CsvHelper; public static List ReadInCSV(string absolutePath) { IEnumerable allValues; using (TextReader fileReader = File.OpenText(absolutePath)) { var csv = new CsvReader(fileReader); csv.Configuration.HasHeaderRecord = false; allValues = csv.GetRecords } return allValues.ToList(); } 但allValues.ToList()抛出一个: 用户代码未处理CsvConfigurationException CsvHelper.dll中出现“CsvHelper.Configuration.CsvConfigurationException”类型的exception,但未在用户代码中处理 附加信息:inheritanceIEnumerable的类型无法自动映射。 您是否不小心调用了对单个记录执行操作的GetRecord或WriteRecord,而不是调用作为记录列表的GetRecords或WriteRecords? GetRecords可能期望我自己的自定义类,但我只是想将值作为一些原始类型或字符串。 此外,我怀疑整行正在转换为单个字符串,而不是每个值都是一个单独的字符串。

将CSV文件转换为XML

我需要将CSV转换为XML文档。 我到目前为止看到的示例都显示了如何使用CSV中的固定数量的列进行此操作。 到目前为止我使用LINQ: String[] File = File.ReadAllLines(@”C:\text.csv”); String xml = “”; XElement top = new XElement(“TopElement”, from items in File let fields = items.Split(‘;’) select new XElement(“Item”, new XElement(“Column1”, fields[0]), new XElement(“Column2”, fields[1]), new XElement(“Column3”, fields[2]), new XElement(“Column4”, fields[3]), new XElement(“Column5″, fields[4]) ) ); File.WriteAllText(@”C:\xmlout.xml”, xml + top.ToString()); 这适用于固定数量的列,但我的.CSV在每行上具有不同的列数。 根据.CSV每行中有多少单词(列),你会如何适应这种循环? 日Thnx

将棘手的字符串转换为CSV格式

我必须从webservice输出创建一个CSV文件,CSV文件使用带逗号分隔符的带引号的字符串。 我不能改变格式 …… 因此,如果我有一个string它就变成了一个”string” …如果该值已经引用,则它们将替换为双引号。 例如, str”ing变成”str””ing” …… 但是,最近由于以下情况,我的导入失败了 原始输入字符串是: “”,”word1,word2,…” 每个单引号都被double替换为: “”””,””word1,word2,…”” 然后在写入CVS文件之前加上前缀并加上引号: “””””,””word1,word2,…””” 如您所见,最终结果如下: “””””,””word1,word2,…””” 这打破了我的导入(将其视为另一个字段)…我认为问题是在原始输入字符串中出现”,” 。 这种情况是否有CVS转义序列? 更新 上述中断的原因是由于BCP映射文件(BCP实用程序用于将CSV文件加载到SQL db),其终结符定义为"," 。 因此,它不会看到1个字段,而是看到2 …但我无法更改映射文件…

如何将对象列表转换为csv?

如果我有一个名为“Car”的对象列表: public class Car { public string Name; public int Year; public string Model; } 如何将对象列表转换为例如List 到csv?