首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jython中的数据提取和操作

jython中的数据提取和操作
EN

Stack Overflow用户
提问于 2009-12-09 23:35:48
回答 2查看 495关注 0票数 0

对于给定的文件

例如: 11 ,345,sdfsfsfs,1232

我需要从一个文件中这样的记录,读11为分隔符,剥离空格并存储在另一个文件中,同样345到分隔符剥离的同时空格存储在文件中。通过这种方式,我需要对多行执行此操作。

最后,在另一个文件中,数据应该如下所示

11,345,sdfsfsfs,1232

请告诉我怎么走。谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2009-12-10 00:45:39

分别打开输入文件(1)和输出文件(2)进行读写。

代码语言:javascript
复制
file1 = open('file1', 'r')
file2 = open('file2', 'w')

遍历输入文件,得到每一行。用逗号分隔行。然后使用逗号重新连接一行,但首先去掉空格(使用列表理解)。

代码语言:javascript
复制
for line in file1:
   fields = line.split(',')
   line = ",".join([s.strip() for s in fields])
   file2.write(line + "\n")

最后,关闭输入和输出文件。

代码语言:javascript
复制
file1.close()
file2.close()

当涉及到生成器时,我不确定jython的能力,所以这就是我使用列表理解的原因。请随时编辑(更了解jython的人)。

票数 2
EN

Stack Overflow用户

发布于 2009-12-10 01:37:08

您可以采用的一种方法是使用string.translate function删除所有空格。

代码语言:javascript
复制
import string

#makes a 256 character string that will be used in the translate function
trans_table = string.maketrans('', '')

file1 = open('file1', 'r')
file2 = open('file2', 'w')

for line in file1:
    file2.write(line.translate(trans_table, string.whitespace) + '\n')

    #Or the above could be written as:
#    line = line.translate(trans_table, string.whitespace)
#    file2.write(line + '\n')

file1.close()
file2.close()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1874712

复制
相关文章

相似问题

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