首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从csv文件中剥离singular /

从csv文件中剥离singular /
EN

Stack Overflow用户
提问于 2011-09-09 08:24:08
回答 2查看 136关注 0票数 0

我有一个csv文件,其中有几个我想要去掉的区域,在这些区域中,/不需要处理,也不需要处理。问题是,我在文件中还有其他带有/的项,我不想去掉它们。

举个例子:

代码语言:javascript
复制
/abc, /, akaksdhfaiwe
/, /foo, /bar

我想成为:

代码语言:javascript
复制
/abc,, akaksdhfaiwe
, /foo, /bar

我该怎么做呢?我不能使用gsub('^/',''),因为它会去掉/abc /foo /bar。对于我的生活,我似乎找不到一个‘结束’。我希望\Z能起作用,没什么好运气的。

有谁愿意接受吗?

我一直在使用fasterCSV进行很多操作,到目前为止,这些操作都很棒。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-09 08:59:51

如果你的文件没有那么大,那么你可以在清理它的时候把它存储到内存中,然后再把它写出来:

代码语言:javascript
复制
clean = [ ]
CSV.open(your_csv).each { |r| csv << r.map { |e| e.sub(/^\s*\/$/, '') } }
out = CSV.open(your_csv, 'wb')
clean.each { |r| out << r }  
out.close

如果你有一个令人难以置信的巨大的CSV文件,它不能同时放入内存中:

代码语言:javascript
复制
out = CSV.open('tempfile.csv', 'wb')
CSV.open(your_csv).each { |r| out << r.map { |e| e.sub(/^\s*\/$/, '') } }
out.close
File.rename('tempfile.csv', your_csv)

任何一个都应该将其转换为:

代码语言:javascript
复制
/abc, /, akaksdhfaiwe
/, /foo, /bar

转到

代码语言:javascript
复制
/abc,"", akaksdhfaiwe
"", /foo, /bar
票数 0
EN

Stack Overflow用户

发布于 2011-09-09 08:27:13

使用ruby你可以做到:

代码语言:javascript
复制
"/asdf /, /fdsa".gsub("/,", ",")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7355953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档