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号