我正在尝试将嵌套字典写入.csv文件.这是一个简单的例子:
import csv
import itertools
fields = [ 'org', '2015', '2014', '2013' ]
dw = { 'orgname1': { '2015' : 2, '2014' : 1, '2013' : 1 },
'orgname2': { '2015' : 1, '2014' : 2, '2013' : 3 },
'orgname3': { '2015' : 1, '2014' : 3, '2013' : 1 }
}
with open("test_output.csv", "wb") as f:
w = csv.writer( f )
years = dw.values()[0].keys()
for key in dw.keys():
w.writerow([key, [dw[key][year] for year in years]])
Run Code Online (Sandbox Code Playgroud)
这让我得到一个包含两列的表:第一列包含orgname; 第二个包含[2,1,1](或子词典中的相应值).我想要一个有四列的表:一个用于 …
我对bash中的sed效率有疑问.我有一系列流水线的sed语句,例如:
var1="Some string of text"
var2=$(echo "$var1" | sed 's/pattern1/replacement1/g' | sed 's/pattern2/replacement2/g' | sed 's/pattern3/replacement3/g' | sed 's/pattern4/replacement4' | sed 's/pattern5/replacement5/g')
Run Code Online (Sandbox Code Playgroud)
假设没有输入依赖于早期sed管道的编辑输出,我最好用表达式语句编写上面的脚本吗?例如:
var2=$(echo "$var1" | sed -e's/pattern1/replacement1/g' -e's/pattern2/replacement2/g' -e's/pattern3/replacement3/g' -e's/pattern4/replacement4/g' -e's/pattern5/replacement5/g')
Run Code Online (Sandbox Code Playgroud)
这里有效率吗?
Python新手,有一个简单的情境问题:
尝试使用BeautifulSoup来解析一系列页面.
from bs4 import BeautifulSoup
import urllib.request
BeautifulSoup(urllib.request.urlopen('http://bit.ly/'))
Run Code Online (Sandbox Code Playgroud)
追溯 ...
html.parser.HTMLParseError: expected name token at '<!=KN\x01...
使用Python 3.2在64位Windows上运行.
我需要机械化吗?(这将需要Python 2.X)
关于代码性能的问题:我正在尝试针对~20g文本文件运行~25个正则表达式规则.脚本应该输出匹配到文本文件; 每个正则表达式规则生成自己的文件.请参阅下面的伪代码:
regex_rules=~/Documents/rulesfiles/regexrulefile.txt
for tmp in *.unique20gbfile.suffix; do
while read line
# Each $line in the looped-through file contains a regex rule, e.g.,
# egrep -i '(^| )justin ?bieber|(^| )selena ?gomez'
# $rname is a unique rule name generated by a separate bash function
# exported to the current shell.
do
cmd="$line $tmp > ~/outputdir/$tmp.$rname.filter.piped &"
eval $cmd
done < $regex_rules
done
Run Code Online (Sandbox Code Playgroud)
几个想法:
有没有办法循环文本文件一次,评估所有规则并一次性拆分到单个文件?这会更快吗?
我应该使用不同的工具来完成这项工作吗?
谢谢.
谷歌用了一个小时左右的时间对以下内容进行了简单的解释.在什么时候:
for i in $(eval echo "{01..30}"); do
echo $i
done
Run Code Online (Sandbox Code Playgroud)
...... Bash会评估支架的'..'组件吗?
谢谢,
扎克
bash ×3
performance ×2
python ×2
regex ×2
csv ×1
dictionary ×1
grep ×1
operators ×1
sed ×1
shell ×1
unix ×1
web-scraping ×1