Esempio n. 1
0
from csvresumable import DictReader
import logging
logging.basicConfig(level=logging.DEBUG)

import sys
sys.stderr.write("----------------------------------------\n")
with open("./data.csv", "r") as rf:
    r = DictReader(rf)

    i = 0
    for row in r:
        print(row)
        if i == 3:
            break
        i += 1
Esempio n. 2
0
import sys
import os
import random
from io import StringIO
from csvresumable import DictReader

data = """\
id,name
1,foo
2,bar
3,boo
"""

random.seed(int(os.environ.get("SEED", "0")))
for row in DictReader(StringIO(data)):
    n = random.random()
    if n < 0.5:
        print("fail {}".format(n), file=sys.stderr)
        sys.exit(0)
    print("\t", row["name"])
print("finished")
Esempio n. 3
0
import json
import time
import sys
import argparse
from csvresumable import DictReader

parser = argparse.ArgumentParser()
parser.add_argument("--resume", action="store_true")
args = parser.parse_args()

with open("input.csv") as rf:
    r = DictReader(rf, resume=args.resume)
    for row in r:
        print("start", row["id"], file=sys.stderr)

        # 重たい処理
        time.sleep(2)
        print(json.dumps(row))
        sys.stdout.flush()
Esempio n. 4
0
import time
import sys
from csvresumable import DictReader

for filename in ["input.csv", "input2.csv"]:
    with open(filename) as rf:
        r = DictReader(rf, key=lambda row: row["userId"])
        for row in r:
            print("start", row["userId"], file=sys.stderr)

            # 重たい処理
            time.sleep(2)
            if int(row["cache"]) == 0:
                ans = "-"
            else:
                ans = int(row["age"]) / int(row["cache"])
            print(row["name"], ans)
            sys.stdout.flush()
Esempio n. 5
0
import sys
import os
import random
from io import StringIO
from csvresumable import DictReader

data = """
id,name
1,foo
2,bar
3,boo
"""

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--seed", default=0, type=int)
parser.add_argument("--resume", action="store_true")
args = parser.parse_args()

random.seed(int(os.environ.get("SEED", "0")))
for row in DictReader(StringIO(data), resume=args.resume):
    n = random.random()
    if n > 0.8:
        print("fail {}".format(n), file=sys.stderr)
        sys.exit(0)
    print("\t", row["name"])
print("finished")
Esempio n. 6
0
from csvresumable import DictReader

files = ["a.csv", "b.csv"]
for f in files:
    r = DictReader(f)
    for row in r:
        do_something(row)