当阅读以bell字符作为分隔符的csv文件时,我得到一个类型错误。我不想使用pandas,需要利用csv库来解决这个问题。
样品头:
["header1", "header2", "header3"]
数据类型
[integer, string, integer]
样本数据:
"2198"^G"data"^G"x"
"2199"^G"data2"^G"y"
"2198"^G"data3"^G"z"
示例代码
def main():
columns = ['col1', 'col2', 'col3']
try:
csv_dict_list = []
with open("bell.csv", "r") as file:
reader = csv.DictReader(file, delimiter=r'\a', quoting=csv.QUOTE_ALL, skipinitialspace=True, fieldnames=columns)
for row in reader:
print(row)
csv_dict_list.append(row)
except Exception as e:
raise Exception("Unable to read file: %s" % e)
我得到这个错误-
TypeError: "delimiter" must be a 1-character string
Bell字符参考-https://www.asciihex.com/character/control/7/0x07/bel-bell-alert
1条答案
按热度按时间50pmv0ei1#
你使用原始前缀作为你的
\a
分隔符,这使它成为2个字符(反斜杠,然后是a
)您只需要使用
delimiter='\a'
,1个字符,用于分隔字段。