擅长:python、mysql、java
<p>我不知道任何现成的解决办法,我也不知道怎么做。解决方法可能是尝试将Jython脚本转换为函数,然后使用pandas将它们应用于csv。在</p>
<pre><code>import json
import re
with open("your open refine json", "r") as infile:
data = json.load(infile)
with open("result.py", 'w') as outfile:
for el in data:
count = 1
column=el['columnName']
expression = el['expression'].replace("jython:", "")
expression = re.sub(r"\n\n\s?\n?", "\n ", expression)
expression = re.sub(r";$", "", expression)
result = """def function%s(value):\n %s""" %(count, expression)
count+=1
outfile.write(result +
"\n\n" +
"mycsv['%s'] = mycsv['%s'].apply(lambda x: function%s(x))" %(column, column, count-1))
</code></pre>
<p>Json上的结果:</p>
^{pr2}$
<p>最后,您可以在<code>result.py</code>的顶部添加这些行,启动脚本,然后祈祷。。。在</p>
<pre><code>import pandas as pd
mycsv = pd.read_csv("your csv", encoding = "utf8")
</code></pre>