我正在尝试处理文件(每行都是一个json文档).文件的大小可以达到mbs到100的mbs.所以我写了一个生成器代码来逐行从文件中获取每个文档.
def jl_file_iterator(file):
with codecs.open(file, 'r', 'utf-8') as f:
for line in f:
document = json.loads(line)
yield document
Run Code Online (Sandbox Code Playgroud)
我的系统有4个核心,所以我想并行处理4行文件.目前我有这个代码,一次需要4行,并调用代码进行并行处理
threads = 4
files, i = [], 1
for jl in jl_file_iterator(input_path):
files.append(jl)
if i % (threads) == 0:
# pool.map(processFile, files)
parallelProcess(files, o)
files = []
i += 1
if files:
parallelProcess(files, o)
files = []
Run Code Online (Sandbox Code Playgroud)
这是我的代码,实际处理发生
def parallelProcess(files, outfile):
processes = []
for i in range(len(files)):
p = Process(target=processFile, args=(files[i],))
processes.append(p)
p.start()
for i in range(len(files)):
processes[i].join()
def processFile(doc): …Run Code Online (Sandbox Code Playgroud) 我正在构建一个复杂的多线图,包括缩放,刷子,复选框等.我能够完成这一切,但仍然坚持让工具提示工作.我想得到这样的东西
http://bl.ocks.org/benjchristensen/2657838
具有特定x坐标的所有路径值的线
var vertical = d3.select("#main-graph")
.append("div")
.attr("class", "remove")
.style("position", "absolute")
.style("z-index", "19")
.style("width", "1px")
.style("height", "380px")
.style("top", "10px")
.style("bottom", "30px")
.style("left", "0px")
.style("background", "#fff");
d3.select("#main-graph")
.on("mousemove", function(){
mousex = d3.mouse(this);
mousex = mousex[0] + 220 ;
vertical.style("left", mousex + "px" )})
.on("mouseover", function(){
mousex = d3.mouse(this);
mousex = mousex[0] +220 ;
vertical.style("left", mousex + "px")});
});
Run Code Online (Sandbox Code Playgroud)
目前我已经使用上面的代码来获取该行.我现在如何在悬停时获取所有线路的数据.感谢任何帮助!