2016-03-20 39 views
0

我们正在导入一个大约80.000行的.csv文件。我们希望在网络作业中这样做,因为它将在未来重复使用。我们正在使用LinqToCsv读取.csv并处理信息。当在我们的控制台应用程序本地运行时,一切似乎都正常工作。但是一旦我们部署到实际的Azure WebJob,我们会从LinqToCsv中获得一个异常。使用Linq To CSV的Azure webjob在生产中不起作用

使用类型“xxxx”读取数据时有一个或多个异常。读取文件“xxx.csv”。

它似乎无法正确解析文件中的某些行,但它在本地工作。将.CSV文件缩短为10行时,一切似乎都可以在生产环境中使用。所以我认为实际上LinqToCSV类的设置没有任何问题。这些设置BTW:

CsvFileDescription inputFileDescription = new CsvFileDescription 
     { 
      SeparatorChar = ';', 
      FirstLineHasColumnNames = true, 
      IgnoreUnknownColumns = true, 
      EnforceCsvColumnAttribute = true 
     }; 

有人能解释这种奇怪的行为,以及如何解决可能没有它按行测试。CSV行?

+0

数据集中某处是否有任何无效字符? – MikeDub

+0

不能真正测试,因为它在本地工作得很好。无法真正检查每一行:s是80.000行。 –

+0

抱歉,我的意思是,要么通过excel在工作表中进行搜索(ctrl + F),要么编写一个快速本地函数来检查可能无效的一组给定字符,我只是将它作为我们的一个生产应用程序提供一个问题与“字符和csv上传,或者你是否尝试过一种不同类型的天蓝色产品(即web应用程序)? – MikeDub

回答

0

问题在于全球化。本地我的小数点用逗号分隔,生产点分离。将以下内容添加到CsvFileDescription中修复了我的问题:

FileCultureName = "nl"