如何解决Azure Blob SDKPython azure-storage-blob无法解析带有制表符分隔列的行
我在Azure Blob存储中有.txt文件,这些文件由Microsoft Academic Graph推送。 文件内的每一行对应于以下架构代表一个对象: https://docs.microsoft.com/en-us/academic-services/graph/reference-data-schema
我正在使用适用于Python的Azure Blob SDK使用BlobClient类(尤其是query_blob方法)搜索条目,其描述如下: https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-query-acceleration-how-to?tabs=python%2Cazure-cli
当我将其用于.csv文件时,一切都正常工作,它可以按值搜索大文件中的某些列,并向我返回唯一符合SQL查询条件的条目。
但是,当我使用它在.txt文件中搜索时,.txt文件的行中的各行用制表符('\ t'符号)隔开,它拒绝将行解析为列,并将整行返回为单列。 我进行了很多测试,并注意到在使用时,它的工作结果相同:
delimiter ='\ t'
delimiter ='\ t'
delimiter ='/ \ t'
delimiter = b'\ t'-抛出错误
delimiter ='\ t \ t \ t \ t \ t \ t'
我还尝试了其他一些选择:
delimiter ='\ tt'
delimiter ='\ t \ t \ tt'
然后,无论有多少个“ \ t”符号,它们都会用“ t”字母分隔每一行。 看起来'\ t'只是从该'delimiter'参数中过滤出来,因此完全忽略了。
我正试图找到一种方法,如何像通常的.csv文件(列中用逗号分隔)那样使用“每行中的各行之间用制表符分隔的列”的文件。
文件很大(有些文件只有几个GB,有些文件约为100GB),因此,仅编辑文件似乎不是一个好选择。 此外,文件会自动更新,应该自动对其进行解析。
我做错了什么?为什么忽略“ \ t”符号,以及如何在用“ \ t”符号分隔列的同时正确解析文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。