问题描述
我有多个csv文件,我想自动检测它们的定界符,引号字符,转义字符等。我文件的字符。例如,我有一个带双引号的文件,并用反斜杠转义,Sniffer返回None作为转义符而不是反斜杠。
import csv
from itertools import islice
csvfile = 'sample_file.csv'
with open(csvfile,"r") as f:
# read first 200 rows
data = "".join(list(islice(f,200)))
sniffer = csv.Sniffer()
# read file and get info
dialect = sniffer.sniff(data)
print("delimiter: ",dialect.delimiter)
print("escapechar: ",dialect.escapechar)
print("quoting: ",dialect.quoting)
print("doublequote: ",dialect.doublequote)
print("quotechar: ",dialect.quotechar)
输出:
delimiter:,escapechar: None
quoting: 0
doublequote: True
quotechar: "
我的文件看起来像这样:
"ID","Name","City"
"123","Abby","Martha\"s Vineyard"
"456","Brenda","Ike\"s Point"
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)