我有30,000
的{{1}}行列表,我想在找到特定单词并将其写到新的csv文件中之后搜索这些行和列。
例如:
csv files
我想知道谁是job ,position , email , adress
joe ,validi , ceo , joevalidi@yahoo.com
,然后解压缩并将其保存在不同的ceo
文件中。
答案 0 :(得分:0)
您可以尝试使用:使用re
模块
import re
pattern = re.compile(r'ceo')
ceo_list = []
with open('managers.csv', 'r') as f: ## where managers.csv is the file you shared above
for i in f:
if pattern.search(i):
ceo_list.append(i.split(',')[0].strip())
现在,您已将所有ceo
存储在列表ceo_list
中。只需将其写入单独的文件中即可:
with open('ceo.csv', 'w') as f:
for item in ceo_list:
f.write("%s\n" % item)
让我知道这是否有帮助。
答案 1 :(得分:0)
说这是您位于test.txt
的输入文件/Users/redwing/temp/
/Users/cat/meow/meoew
/Users/cat/meow/meoew2
/Users/dog/bow/wow
然后该脚本将输出仅包含包含cat
的行的文件。
in_fname = '/Users/redwing/temp/test.txt'
out_fname = '/Users/redwing/temp/test_output.txt'
f_out = open(out_fname, 'w+')
f_in = open(in_fname, 'r')
for content in f_in:
if 'cat' in content:
f_out.write(content)
f_in.close()
f_out.close()
此解决方案的妙处在于,绝不会将所有文件读入内存,因此过滤3000或3000万行无关紧要。
PS。编辑之前已提交我的回复。显然,您只需要将cat
替换为ceo
)