[英]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.