【发布时间】:2015-12-06 14:07:59
【问题描述】:
使用 Python 3.4 并尝试导入 csv 文件,其中一些包含逗号,另一些包含分号,其他包含制表符作为分隔符。
是否可以让 python 检测使用哪个合适的分隔符? 我已阅读python: import csv file (delimiter “;” or “,”) 上的帖子,但无法获得适当的结果。
到目前为止我的代码:
import csv
class Data(object):
def __init__(self, csv_file):
self.raw_data = []
self.read(csv_file)
def read(self, csv_file):
with open(csv_file, newline='') as csvfile:
dialect = csv.Sniffer().sniff(csvfile.read(), delimiters=',;')
csvfile.seek(0)
f = csv.reader(csvfile, dialect)
for row in f:
self.raw_data.append(row)
print(self.raw_data)
mycsv = Data('comma_separate.csv')
comma_separate.csv 包含:
afsfaf@faf.com, $161,321, True, 1
asafasf@fafa.net, $95.00, False, 3
adaafa3@aca.com, $952025, False, 3
现在我的输出是:
['afsfaf@faf.com, $161,321, True, 1'], ['asafasf@fafa.net, $95.00, False, 3'], ['adaafa3@aca.com, $952025, False, 3']
我想要的输出是:
['afsfaf@faf.com', '$161,321', 'True', '1'], ['asafasf@fafa.net', '$95.00', 'False', '3'], ['adaafa3@aca.com', '$952025', 'False', '3']
【问题讨论】:
标签: python csv import python-3.4 delimiter