我们从Python开源项目中,提取了以下36个代码示例,用于说明如何使用csv.register_dialect()。
def test_registry_badargs(self): self.assertRaises(TypeError, csv.list_dialects, None) self.assertRaises(TypeError, csv.get_dialect) self.assertRaises(csv.Error, csv.get_dialect, None) self.assertRaises(csv.Error, csv.get_dialect, "nonesuch") self.assertRaises(TypeError, csv.unregister_dialect) self.assertRaises(csv.Error, csv.unregister_dialect, None) self.assertRaises(csv.Error, csv.unregister_dialect, "nonesuch") self.assertRaises(TypeError, csv.register_dialect, None) self.assertRaises(TypeError, csv.register_dialect, None, None) self.assertRaises(TypeError, csv.register_dialect, "nonesuch", 0, 0) self.assertRaises(TypeError, csv.register_dialect, "nonesuch", badargument=None) self.assertRaises(TypeError, csv.register_dialect, "nonesuch", quoting=None) self.assertRaises(TypeError, csv.register_dialect, [])
def test_dialect_apply(self): class testA(csv.excel): delimiter = "\t" class testB(csv.excel): delimiter = ":" class testC(csv.excel): delimiter = "|" class testUni(csv.excel): delimiter = "\u039B" csv.register_dialect('testC', testC) try: self.compare_dialect_123("1,2,3\r\n") self.compare_dialect_123("1\t2\t3\r\n", testA) self.compare_dialect_123("1:2:3\r\n", dialect=testB()) self.compare_dialect_123("1|2|3\r\n", dialect='testC') self.compare_dialect_123("1;2;3\r\n", dialect=testA, delimiter=';') self.compare_dialect_123("1\u039B2\u039B3\r\n", dialect=testUni) finally: csv.unregister_dialect('testC')
def parse(): global values USER = os.path.expanduser('~') csv.register_dialect('crypto', delimiter=',') #this iteration is specifically formulated for i3blocks, with either: #both this file, coins.py, and a filled values.csv copied within the cryptoreturn directory #i.e., run the main program, then copy the files #with open(USER + '/.i3/values.csv', 'r+') as f: #or: this file, coins.py, and values.csv within the Cryptoreturn repo #with the i3blocks configuration file pointing to it #uncomment for this configuration with open(USER + '/cryptoreturn/values.csv','r+') as f: reader = csv.reader(f, dialect='crypto') values = [] for row in reader: values = str(row).split(":") values = str(values).split(',') #function for determining positive or negative ROI
def parse(): global values csv.register_dialect('crypto', delimiter=',') #regular config is for Linux, uncomment below for windows; if the program breaks, update the path to reflect where the repo is #for windows (untested) #with open(USER + '\cryptoreturn\\values.csv') #for all Linux distros, assuming the repo is in your home directory with open(USER + '/cryptoreturn/values.csv','r+') as f: reader = csv.reader(f, dialect='crypto') values = [] for row in reader: values = str(row).split(":") values = str(values).split(',') #function that reads from values.csv to populate lists
def test_registry(self): class myexceltsv(csv.excel): delimiter = "\t" name = "myexceltsv" expected_dialects = csv.list_dialects() + [name] expected_dialects.sort() csv.register_dialect(name, myexceltsv) self.addCleanup(csv.unregister_dialect, name) self.assertEqual(csv.get_dialect(name).delimiter, '\t') got_dialects = sorted(csv.list_dialects()) self.assertEqual(expected_dialects, got_dialects)
def test_register_kwargs(self): name = 'fedcba' csv.register_dialect(name, delimiter=';') self.addCleanup(csv.unregister_dialect, name) self.assertEqual(csv.get_dialect(name).delimiter, ';') self.assertEqual([['X', 'Y', 'Z']], list(csv.reader(['X;Y;Z'], name)))
def test_dialect_str(self): data = """\ fruit:vegetable apple:brocolli pear:tomato """ exp = DataFrame({ 'fruit': ['apple', 'pear'], 'vegetable': ['brocolli', 'tomato'] }) dia = csv.register_dialect('mydialect', delimiter=':') # noqa df = self.read_csv(StringIO(data), dialect='mydialect') tm.assert_frame_equal(df, exp) csv.unregister_dialect('mydialect')
def open(self): if self.is_open: self._ui.debug('OPEN CALLED ON ALREADY OPEN RUNCONTEXT') return self.is_open = True self._ui.debug('OPEN CALLED ON RUNCONTEXT') csv.register_dialect('dataset_dialect', **self.dialect) csv.register_dialect('writer_dialect', **self.writer_dialect) self.dialect = csv.get_dialect('dataset_dialect') self.writer_dialect = csv.get_dialect('writer_dialect') self.db = shelve.open(self.file_context.file_name, writeback=True) if six.PY2: self.out_stream = open(self.out_file, 'ab') elif six.PY3: self.out_stream = open(self.out_file, 'a', newline='')
def registered_dialect(self): # This was written weird csv.register_dialect('dataset_dialect', csv.excel)
def get_infos_from_inventory(self, hostname): """ Get inventory informations about a baremetal node. Expected format is <ipmi address>;<primary mac address>;<admin ip>;<hostname> """ with open("./inventory/%s.csv" % self.zone, 'rb') as fhandle: csv.register_dialect('semicolon', delimiter=';') reader = csv.reader(fhandle, dialect='semicolon') inventory = list(reader) for node in inventory: if hostname == node[3]: return {'ipmi_ip' : node[0], 'mac_address' : node[1], 'admin_ip' : node[2]} return None
def store(data): ''' This Function stores the data in a csv file ''' csv.register_dialect('Dialect', delimiter=chr(9), quoting=csv.QUOTE_NONE) File = open("user_info.csv", "a") with File: writer = csv.writer(File, dialect='Dialect') writer.writerow(data) File.close()
def sniff_dialect(sample, encoding, sep, skip_dialect, ui): t1 = time() try: if skip_dialect: ui.debug('investigate_encoding_and_dialect - skip dialect detect') if sep: csv.register_dialect('dataset_dialect', csv.excel, delimiter=sep) else: csv.register_dialect('dataset_dialect', csv.excel) dialect = csv.get_dialect('dataset_dialect') else: sniffer = csv.Sniffer() dialect = sniffer.sniff(sample.decode(encoding), delimiters=sep) ui.debug('investigate_encoding_and_dialect - seconds to detect ' 'csv dialect: {}'.format(time() - t1)) except csv.Error: decoded_one = sample.decode(encoding) t2 = time() detector = Detector() delimiter, resampled = detector.detect(decoded_one) if len(delimiter) == 1: delimiter = delimiter[0] ui.info("Detected delimiter as %s" % delimiter) if sep is not None and sep != delimiter: delimiter = sep else: raise csv.Error( "The csv module failed to detect the CSV dialect. " "Try giving hints with the --delimiter argument, " "E.g --delimiter=','" ) sniffer = csv.Sniffer() dialect = sniffer.sniff(resampled, delimiters=delimiter) ui.debug('investigate_encoding_and_dialect v2 - seconds to detect ' 'csv dialect: {}'.format(time() - t2)) if dialect.escapechar is None: csv.register_dialect('dataset_dialect', dialect, delimiter=str(dialect.delimiter), quotechar=str(dialect.quotechar), doublequote=True) dialect = csv.get_dialect('dataset_dialect') return dialect