Esempio n. 1
0
 def __next__(self, retry=retry):
     try:
         d = original_next(self)
         return guess(d, mutable=True)
     except csv.Error as e:
         logger.info("line=%d errors is occured, skipping err=%r", self.line_num, e)
         if retry <= 0:
             raise
         return self.__next__(retry=retry - 1)
Esempio n. 2
0
    def _callFUT(self, v, *args, **kwargs):
        from dictknife.guessing import guess

        return guess(v, *args, **kwargs)
Esempio n. 3
0
 def __next__(self):
     d = original_next(self)
     return guess(d, mutable=True)
Esempio n. 4
0
import csv
from join import innerjoin
from dictknife.guessing import guess

with open("data/users.csv") as rf:
    users = guess(list(csv.DictReader(rf)))

with open("data/users2.csv") as rf:
    users2 = guess(list(csv.DictReader(rf)))

rows = innerjoin(users, users2, left_on="id", right_on="id", suffixes=("", "2"))
for row in rows:
    r = []
    for k in row.keys():
        if k.endswith("2"):
            if hasattr(row[k], "__sub__"):
                r.append((k[:-1], row[k] - row[k[:-1]]))
            else:
                r.append((k[:-1], "{}->{}".format(row[k], row[k[:-1]])))
    print("\t".join("{k}:{v}".format(k=k, v=v) for k, v in r))
Esempio n. 5
0
import csv
from join import innerjoin
from dictknife.guessing import guess

with open("data/users.csv") as rf:
    users = guess(list(csv.DictReader(rf)))

with open("data/users2.csv") as rf:
    users2 = guess(list(csv.DictReader(rf)))

rows = innerjoin(users,
                 users2,
                 left_on="id",
                 right_on="id",
                 suffixes=("", "2"))
for row in rows:
    r = []
    for k in row.keys():
        if k.endswith("2"):
            if hasattr(row[k], "__sub__"):
                r.append((k[:-1], row[k] - row[k[:-1]]))
            else:
                r.append((k[:-1], "{}->{}".format(row[k], row[k[:-1]])))
    print("\t".join("{k}:{v}".format(k=k, v=v) for k, v in r))