2004年09月22日 星期三 12:44
在文本中有一些用户数据,每行一个用户,行中用逗号分割属性。 这个怎样读取出来?windows下和*nix下一样吗?如果不一样,各自都应该怎么写? 我试验了一上午,都不行。大虾帮帮忙! _________________________________________________________ Do You Yahoo!? 150万曲MP3疯狂搜,带您闯入音乐殿堂 http://music.yisou.com/ 美女明星应有尽有,搜遍美图、艳图和酷图 http://image.yisou.com 1G就是1000兆,雅虎电邮自助扩容! http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/
2004年09月22日 星期三 15:52
使用csv模块很方便。看看文档吧。 当然自已做也不麻烦 On Wed, 22 Sep 2004 12:44:18 +0800 (CST), mike gaul <zopemaillistcn at yahoo.com.cn> wrote: > 在文本中有一些用户数据,每行一个用户,行中用逗号分割属性。 > > 这个怎样读取出来?windows下和*nix下一样吗?如果不一样,各自都应该怎么写? > > 我试验了一上午,都不行。大虾帮帮忙! > > _________________________________________________________ > Do You Yahoo!? > 150万曲MP3疯狂搜,带您闯入音乐殿堂 > http://music.yisou.com/ > 美女明星应有尽有,搜遍美图、艳图和酷图 > http://image.yisou.com > 1G就是1000兆,雅虎电邮自助扩容! > http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/ > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > -- I like python!
2004年09月22日 星期三 15:59
f = open(filename) c = f.readlines() l = c.split('\n') #此处是行分割符号,如果是window应该相应变换 u = [] #存放用户 for item in l: v = item.split(',') u.append(v[0]) #添加用户 print u 如果用linux/unix的 awk 那更简单 awk -F, '{print $1}' filename > outfilename 我觉得任何工具都是为我们服务的,:)
2004年09月22日 星期三 16:06
已经 readlines()了怎么还split,有问题。 应该是: f = open(filename) c = f.readlines() #此处是行分割符号,如果是window应该相应变换 u = [] #存放用户 for item in l: item = item.rstrip() #去掉行尾空白,包括回车 v = item.split(',') u.append(v[0]) #添加用户 print u 为什么要使用csv呢。因为它可以处理当一个字段的值中有逗号的情况,如: user1,username,"This is , a test description" 可以看到如果一个字段是一句话,如果其中有空格的话,简单的split是不能完成任务的。使用csv可以解决这个问题。关键是看你的数据是什么样了,如果不存在这种情况,可以使用上面的小程序。 On Wed, 22 Sep 2004 15:59:45 +0800, River <river at exoweb.net> wrote: > f = open(filename) > c = f.readlines() > l = c.split('\n') > #此处是行分割符号,如果是window应该相应变换 > u = [] > #存放用户 > for item in l: > v = item.split(',') > u.append(v[0]) > #添加用户 > print u > > 如果用linux/unix的 awk 那更简单 > awk -F, '{print $1}' filename > outfilename > > 我觉得任何工具都是为我们服务的,:) > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- I like python!
2004年09月22日 星期三 16:22
:)我真丢人 但又想到一个方法 f = open(filename) c = f.realines() u = [] for item in c: tmp = item[:item.index(",")] u.append(tmp) print u :好就不玩字面游戏,生疏了,恳请赐教:) ----- Original Message ----- From: "limodou" <limodou at gmail.com> To: <python-chinese at lists.python.cn> Sent: Wednesday, September 22, 2004 4:06 PM Subject: Re: [python-chinese] 怎样读取文件中的数据? 已经 readlines()了怎么还split,有问题。 应该是: f = open(filename) c = f.readlines() #此处是行分割符号,如果是window应该相应变换 u = [] #存放用户 for item in l: item = item.rstrip() #去掉行尾空白,包括回车 v = item.split(',') u.append(v[0]) #添加用户 print u 为什么要使用csv呢。因为它可以处理当一个字段的值中有逗号的情况,如: user1,username,"This is , a test description" 可以看到如果一个字段是一句话,如果其中有空格的话,简单的split是不能完成任务的。使用csv可以解决这个问题。关键是看你的数据是什么样了,如果不存在这种情况,可以使用上面的小程序。 On Wed, 22 Sep 2004 15:59:45 +0800, River <river at exoweb.net> wrote: > f = open(filename) > c = f.readlines() > l = c.split('\n') > #此处是行分割符号,如果是window应该相应变换 > u = [] > #存放用户 > for item in l: > v = item.split(',') > u.append(v[0]) > #添加用户 > print u > > 如果用linux/unix的 awk 那更简单 > awk -F, '{print $1}' filename > outfilename > > 我觉得任何工具都是为我们服务的,:) > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- I like python! _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese
Zeuux © 2025
京ICP备05028076号