相关疑难解决方法(0)

如何从流中读取CSV文件并在写入时处理每一行?

我想从标准输入读取一个CSV文件并处理每一行.我的CSV输出代码逐个写入行,但我的读者在迭代行之前等待流终止.这是csv模块的限制吗?难道我做错了什么?

我的读者代码:

import csv
import sys
import time


reader = csv.reader(sys.stdin)
for row in reader:
    print "Read: (%s) %r" % (time.time(), row)
Run Code Online (Sandbox Code Playgroud)

我的作家代码:

import csv
import sys
import time


writer = csv.writer(sys.stdout)
for i in range(8):
    writer.writerow(["R%d" % i, "$" * (i+1)])
    sys.stdout.flush()
    time.sleep(0.5)
Run Code Online (Sandbox Code Playgroud)

产量python test_writer.py | python test_reader.py:

Read: (1309597426.3) ['R0', '$']
Read: (1309597426.3) ['R1', '$$']
Read: (1309597426.3) ['R2', '$$$']
Read: (1309597426.3) ['R3', '$$$$']
Read: (1309597426.3) ['R4', '$$$$$']
Read: (1309597426.3) ['R5', '$$$$$$']
Read: (1309597426.3) ['R6', …
Run Code Online (Sandbox Code Playgroud)

python csv stream line-by-line

31
推荐指数
1
解决办法
3万
查看次数

标签 统计

csv ×1

line-by-line ×1

python ×1

stream ×1