繁体   English   中英

如何读取以'\\ x01'分隔的CSV文件并在python中创建字典

[英]How to read a CSV File delimited by '\x01' and create a dictionary in python

我需要读取以\\x01 (^ A)分隔的CSV文件,并为查找创建字典以进一步处理业务逻辑。 我的输入文件包含许多列,我需要将14列作为键,并将其余部分作为值。

之前文件是逗号分隔的,我能够读取文件并创建字典。 知道文件以\\x01分隔,并且脚本失败

这就是我较早创建字典的方式

lake_dataset = csv.DictReader(open(local_registry_file_path+os.path.basename(registryPath),'rb'))
master_dir = {}
for row in lake_dataset:
    key = row.pop('TBL_DATASETLOCATION')
    key = key.lower().strip()
    master_dir[key] = row

您可以注册使用该字符作为分隔符的自定义方言, 如本答案所示

import csv

class custom_sep(csv.excel):
    delimiter = chr(0x01)
csv.register_dialect("custom_sep", custom_sep)

data = """col1\x01col2\x01col3
foo\x01bar\x01baz
moo\x01mee\x01mah"""

data = csv.DictReader((x.strip() for x in data.split('\n')), dialect="custom_sep")
for row in data:
    print row

您可以尝试在DictReader中设置delimiter='\\x01'

lake_dataset = csv.DictReader(open(local_registry_file_path+os.path.basename(registryPath),'rb'), delimiter='\x01')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM