Azure Web作业无法正确读取csv

问题描述 投票:0回答:1

我正在使用最新版本的CsvHelper库,而Azure WebJob却在阅读我的csv文件时遇到麻烦。

enter image description here

它表示无效的DateTime格式。虽然我101%确定我的csv具有正确的DateTime格式。

我相信CsvHelper导致了这个问题,但我真的不知道..

如果需要更多信息,请告诉我。

azure csv web-applications azure-webjobs csvhelper
1个回答
0
投票

对于这样的问题,如果我们没有可以重现问题的样本,则难以回答。所以在这里,我将与您分享一种有效的自行排除故障的方法。

首先,问题不是由Web作业引起的,因此您应该首先在本地调试它。

1,创建一个简单的控制台应用程序进行测试

2,下载CsvHelper库的源代码,在VS中的同一解决方案中添加源项目,然后引用CsvHelper项目如下:

enter image description here

3,在测试应用程序中,输入一些具有您在Web作业中使用的相同功能的代码。以下是我用于演示的内容。 Foo类包含DateTime属性:

class Program
{
    static void Main(string[] args)
    {
        using (var reader = new StreamReader(@"C:\Users\toml\Desktop\test.csv"))
        using (var csv = new CsvReader(reader))
        {
            csv.Configuration.BadDataFound = null;
            var records = csv.GetRecords<Foo>();

            foreach (var item in records)
            {
                Console.WriteLine(item.Time);
            }
        }
        Console.ReadKey();
    }
}
public class Foo
{
    public int Id { get; set; }
    public string Name { get; set; }
    public DateTime Time { get; set; }
}

4,根据堆栈跟踪,错误发生在Qazxswpoi方法中,该方法位于TypeConversion文件夹 - > DateTimeConverter.cs文件中。打开此文件并设置断点,如下所示:ConvertFromString

抛出异常的最后一个方法是enter image description here。现在运行项目并检查是否需要每个参数,特别是“文本”。

它将为您提供更多信息进行调试。

© www.soinside.com 2019 - 2024. All rights reserved.