コード例 #1
0
ファイル: test_parsers.py プロジェクト: fluidinfo/flimp
    def test_parse(self):
        good = open(GOOD_CSV, 'r')
        bad = open(BAD_CSV, 'r')
        header = open(HEADER_ONLY_CSV, 'r')
        empty = open(EMPTY_CSV, 'r')
        blank = open(BLANK_CSV, 'r')

        result = parse_csv.parse(good)
        self.assertTrue(isinstance(result, list))
        self.assertEqual(3, len(result))
        self.assertTrue(isinstance(result[0], dict))
        self.assertEqual(3, len(result[0]))
        self.assertRaises(ValueError, parse_csv.parse, header)
        self.assertRaises(Exception, parse_csv.parse, empty)

        # Just confirm that zip is producing the appropriately sized
        # dictionaries
        result = parse_csv.parse(bad)
        for item in result[:-1]:
            self.assertEqual(3, len(item))
        self.assertEqual(2, len(result[3]))

        # Lets make sure it appropriately handles CSV's with blank values
        result = parse_csv.parse(blank)
        self.assertEqual(3, len(result))
        for item in result:
            self.assertEqual(3, len(item))
コード例 #2
0
    def test_parse(self):
        good = open(GOOD_CSV, 'r')
        bad = open(BAD_CSV, 'r')
        header = open(HEADER_ONLY_CSV, 'r')
        empty = open(EMPTY_CSV, 'r')
        blank = open(BLANK_CSV, 'r')

        result = parse_csv.parse(good)
        self.assertTrue(isinstance(result, list))
        self.assertEqual(3, len(result))
        self.assertTrue(isinstance(result[0], dict))
        self.assertEqual(3, len(result[0]))
        self.assertRaises(ValueError, parse_csv.parse, header)
        self.assertRaises(Exception, parse_csv.parse, empty)

        # Just confirm that zip is producing the appropriately sized
        # dictionaries
        result = parse_csv.parse(bad)
        for item in result[:-1]:
            self.assertEqual(3, len(item))
        self.assertEqual(2, len(result[3]))

        # Lets make sure it appropriately handles CSV's with blank values
        result = parse_csv.parse(blank)
        self.assertEqual(3, len(result))
        for item in result:
            self.assertEqual(3, len(item))
コード例 #3
0
ファイル: import_utils.py プロジェクト: fluidinfo/flimp
    will become a tag-value in FluidDB.

    The default version of this function in flimp will attempt to cast the
    value into something appropriate - see
    flimp.parser.csv_parser.clean_row_item for the source.
    """
    # We just want to make sure we return None for empty values. By default
    # flimp will ignore tags with None as a value (this can be overridden)
    value = item.strip()
    if value:
        return value
    else:
        return None

csv_file = open("data.csv", "r")
data = parse_csv.parse(csv_file, clean_header, clean_row_item)

"""
Given the following CSV file:

' Header 1 ':'Header 2':'Header 3/4'
A: B :C
X::Z

and the functions defined above then parse_csv.parse will produce something
like this:

[
    {
        'Header_3-4': 'C',
        'Header_2': 'B',
コード例 #4
0
ファイル: import_utils.py プロジェクト: ltvolks/flimp
    The default version of this function in flimp will attempt to cast the
    value into something appropriate - see
    flimp.parser.csv_parser.clean_row_item for the source.
    """
    # We just want to make sure we return None for empty values. By default
    # flimp will ignore tags with None as a value (this can be overridden)
    value = item.strip()
    if value:
        return value
    else:
        return None


csv_file = open("data.csv", "r")
data = parse_csv.parse(csv_file, clean_header, clean_row_item)
"""
Given the following CSV file:

' Header 1 ':'Header 2':'Header 3/4'
A: B :C
X::Z

and the functions defined above then parse_csv.parse will produce something
like this:

[
    {
        'Header_3-4': 'C',
        'Header_2': 'B',
        'Header_1': 'A'