我是使用Azure的新手,我使用Azure存储资源管理器从csv文件导入数据。 csv文件包含带有十进制格式数字的字段以及其他文本字段。当我导入csv文件(我选择CSV(逗号分隔))时,当存储资源管理器显示csv文件中的列名时,字段数据类型看起来正确为数字字段的double和其他字段的字符串。所以,我继续导入csv文件,一切都成功导入。
但是,当我的应用程序(它是一个C#Asp.Net MVC webapp)从包含导入数据的Azure存储表中检索实体时,我得到的全部是字符串数据。 Azure存储资源管理器看到的数据为double,未检索到任何数据。相反,这些字段最终会在我的应用程序中分配一个空值,但我在Azure存储资源管理器的表中看到它们。
我是否遗漏了需要进入我的csv文件的内容,或者是否需要与我的Azure存储帐户进行相关的配置,以便我可以检索表格中的数据?
使用import csv步骤看起来很简单,但显然我错过了一些东西。
任何帮助或指导都将不胜感激。
答案 0 :(得分:1)
我还应该提一下,我是NoSQL DB的新手。
问题是我的csv文件中没有每个实体的类型定义。
我的csv起初看起来像这样:
PartitionKey | RowKey | 语言 | SAMPLE1 |
国| 3 |英语| 28.345 |
什么时候看起来像这样:
PartitionKey | RowKey | 语言 |的 语言@型 强> | SAMPLE1 |的 SAMPLE1 @型 强> |
国家| 3 |英语| Edm.String | 28.345 | Edm.Double |
添加实体的类型后,我将csv文件保存为filename.typed.csv 然后将其上传到我的Azure存储帐户,现在我从表中获取所有值,而不是为我最初得到的sample1(double)值获取null。
希望这可以帮助可能遇到此问题的其他人。 :)
答案 1 :(得分:0)
尝试更改分隔设置,而不是在此cas中使用逗号,因为您使用数字值,我建议"或者