【发布时间】:2013-12-08 16:50:48
【问题描述】:
我有一个类似的文本文件并得到了很大的帮助来解决它,但我必须意识到我对一般编程和正则表达式太陌生,无法修改下面由 steveha 编写的伟大 Python 脚本Similar file。
编辑:我想去掉制表符、换行符和其他字符,而不是“普通”单词、数字、感叹号、问号、点 - 为了得到一个干净的 CSV 并从那里做文本分析。
重新进口 导入系统 _, infile, outfile = sys.argv s_pat_row = r''' "([^"]+)" # 匹配列;这是第 1 组 \s*,\s* # 匹配分隔逗号和任何可选空格 (\S+) # 匹配列;这是第 2 组 \s*,\s* # 匹配分隔逗号和任何可选空格 "((?:\\"|[^"])*)" # 匹配可以包含转义引号的字符串数据 ''' pat_row = re.compile(s_pat_row, re.MULTILINE|re.VERBOSE) s_pat_clean = r'''[\x01-\x1f\x7f]''' pat_clean = re.compile(s_pat_clean) row_template = '"{}",{},"{}"\n' 使用 open(infile, "rt") 作为 inf,open(outfile, "wt") 作为 outf: 数据 = inf.read() 对于 re.finditer(pat_row, data) 中的 m: 行 = m.groups() 清理 = re.sub(pat_clean, ' ', row[2]) 单词 = clean.split() 清理 = ' '.join(words) outrow = row_template.format(row[0], row[1], 清理) outf.write(outrow)我不知道如何修改它以匹配此文件,其中有 \t 分隔列和文本,而不是第二列中的数字。我的目标是为内容分析准备好清理过的文本,但我似乎需要多年的学习才能达到我熟悉的程度...... ;-)
谁能帮我修改它,使其适用于下面的数据文件?
“from_user” “to_user” “full_text” "_____erik_" "systersandra gigatarmadillo kuttersmycket NULL NULL" "\"men du ...? är du bi?\". \"näeh. Tyvärr\"#fikarum,Alla vi barn i Bullerbyn 去#swecrime。#fjällbackamorden,Ny mobil och en väckare som ringer 0540.#fail,När jag måste välja,\"äta kakan eller ha den kvar\", så carpe diar jag kakan på sekunden. #mums,Låter RT @bobhansson:Om pessimisterna 杠杆 7 år kortare är det ju inte alls konstigt att dom är det。 http://t.co/a1t5ht4l2h,Finskjortan på tork:检查! Dags att leta fram gå-bort skorna..."【问题讨论】:
标签: python regex python-3.x