Python论坛  - 讨论区

标题:[python-chinese] 怎样读取文件中的数据?

2004年09月22日 星期三 12:44

mike gaul zopemaillistcn at yahoo.com.cn
Wed Sep 22 12:44:18 HKT 2004

在文本中有一些用户数据,每行一个用户,行中用逗号分割属性。

这个怎样读取出来?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/


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月22日 星期三 15:52

limodou limodou at gmail.com
Wed Sep 22 15:52:05 HKT 2004

使用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!


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月22日 星期三 15:59

River river at exoweb.net
Wed Sep 22 15:59:45 HKT 2004

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

我觉得任何工具都是为我们服务的,:)

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月22日 星期三 16:06

limodou limodou at gmail.com
Wed Sep 22 16:06:42 HKT 2004

已经 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!


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月22日 星期三 16:22

River river at exoweb.net
Wed Sep 22 16:22:09 HKT 2004

:)我真丢人
但又想到一个方法

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


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号