2005年09月15日 星期四 04:10
data.txt
X s11 s12 s22
0.00000000E+000 6.04698870E+010 -5.32921631E+010
9.52406671E+010
0.00000000E+000 NoValue 6.09591665E+010 NoValue
0.00000000E+000 NoValue -2.99157750E+010
NoValue
0.00000000E+000 NoValue 3.67781274E+010 NoValue
4.88667341E-004 3.86049147E+010 6.78774682E+009 3.21935503E+010
9.40300233E-004 2.70205092E+010 3.81452723E+009 3.04842240E+010
ÈçºÎ´Ódata.txt¶ÁÈëÕâЩÊý¾Ý
ʹ֮³ÉΪÊý¾ÝÁбídata
ʹµÃdataµÄÐкÍÁÐÓëÔÀ´Êý¾Ý±£³ÖÒ»Öµĸñʽ
thanks
2005年09月15日 星期四 09:22
在 05-9-15,Leon Tang<leonmaillist at sohu.com> 写道: > data.txt > > X s11 s12 s22 > > 0.00000000E+000 6.04698870E+010 -5.32921631E+010 > 9.52406671E+010 > 0.00000000E+000 NoValue 6.09591665E+010 NoValue > 0.00000000E+000 NoValue -2.99157750E+010 > NoValue > 0.00000000E+000 NoValue 3.67781274E+010 NoValue > 4.88667341E-004 3.86049147E+010 6.78774682E+009 3.21935503E+010 > 9.40300233E-004 2.70205092E+010 3.81452723E+009 3.04842240E+010 > > 如何从data.txt读入这些数据 > 使之成为数据列表data 读入数据很简单,从上面可以看出一行就是一条记录,每条记录的字段以空白符分隔,因此可以这样: data = [] for line in file('data.txt'): line = line.strip() #过滤前后的空格和回车 data.append(line.split()) #使用字符串的split方法,按空白进行拆分 这样数据就读出来了。 > 使得data的行和列与原来数据保持一致的格式 > thanks > 这个就不太明白你的意思了。 -- I like python! My Donews Blog: http://www.donews.net/limodou
2005年09月15日 星期四 09:36
呵呵,谢谢你
我用line.split()
一开始没注意到split可以缺省无参数的,开始就是用split(' ')结果不好
----- Original Message -----
From: "limodou" <limodou at gmail.com>
To: <python-chinese at lists.python.cn>
Sent: Thursday, September 15, 2005 9:22 AM
Subject: Re: [python-chinese] 从文本读入数据的格式问题求教
>在 05-9-15,Leon Tang<leonmaillist at sohu.com> 写道:
>> data.txt
>>
>> X s11 s12 s22
>>
>> 0.00000000E+000 6.04698870E+010 -5.32921631E+010
>> 9.52406671E+010
>> 0.00000000E+000 NoValue 6.09591665E+010 NoValue
>> 0.00000000E+000 NoValue -2.99157750E+010
>> NoValue
>> 0.00000000E+000 NoValue 3.67781274E+010 NoValue
>> 4.88667341E-004 3.86049147E+010 6.78774682E+009 3.21935503E+010
>> 9.40300233E-004 2.70205092E+010 3.81452723E+009 3.04842240E+010
>>
>> 如何从data.txt读入这些数据
>> 使之成为数据列表data
>
> 读入数据很简单,从上面可以看出一行就是一条记录,每条记录的字段以空白符分隔,因此可以这样:
>
> data = []
> for line in file('data.txt'):
> line = line.strip() #过滤前后的空格和回车
> data.append(line.split()) #使用字符串的split方法,按空白进行拆分
>
> 这样数据就读出来了。
>
>> 使得data的行和列与原来数据保持一致的格式
>> thanks
>>
>
> 这个就不太明白你的意思了。
>
>
> --
> I like python!
> My Donews Blog: http://www.donews.net/limodou
>
--------------------------------------------------------------------------------
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>
2005年09月15日 星期四 09:47
line.strip() ÊÇ·ñ±ØÒªÄØ£¿ ÒòΪsplit()Ò²ÊÇ·Ö¸î¿Õ¸ñ£¬¶øÇÒÒ²ÊǹýÂËÁËǰºó¿Õ¸ñµÄ "limodou" <limodou at gmail.com> дÈëÏûÏ¢ÐÂÎÅ:505f13c0509141822751fa04c at mail.gmail.com... >ÔÚ 05-9-15£¬Leon Tang<leonmaillist at sohu.com> дµÀ£º >> data.txt >> >> X s11 s12 >> s22 >> >> 0.00000000E+000 6.04698870E+010 -5.32921631E+010 >> 9.52406671E+010 >> 0.00000000E+000 NoValue 6.09591665E+010 >> NoValue >> 0.00000000E+000 NoValue -2.99157750E+010 >> NoValue >> 0.00000000E+000 NoValue 3.67781274E+010 >> NoValue >> 4.88667341E-004 3.86049147E+010 6.78774682E+009 >> 3.21935503E+010 >> 9.40300233E-004 2.70205092E+010 3.81452723E+009 >> 3.04842240E+010 >> >> ÈçºÎ´Ódata.txt¶ÁÈëÕâЩÊý¾Ý >> ʹ֮³ÉΪÊý¾ÝÁбídata > > ¶ÁÈëÊý¾ÝºÜ¼òµ¥£¬´ÓÉÏÃæ¿ÉÒÔ¿´³öÒ»ÐоÍÊÇÒ»Ìõ¼Ç¼£¬Ã¿Ìõ¼Ç¼µÄ×Ö¶ÎÒÔ¿Õ°×·û·Ö¸ô£¬Òò´Ë¿ÉÒÔÕâÑù£º > > data = [] > for line in file('data.txt'): > line = line.strip() #¹ýÂËǰºóµÄ¿Õ¸ñºÍ»Ø³µ > data.append(line.split()) #ʹÓÃ×Ö·û´®µÄsplit·½·¨£¬°´¿Õ°×½øÐвð·Ö > > ÕâÑùÊý¾Ý¾Í¶Á³öÀ´ÁË¡£ > >> ʹµÃdataµÄÐкÍÁÐÓëÔÀ´Êý¾Ý±£³ÖÒ»Öµĸñʽ >> thanks >> > > Õâ¸ö¾Í²»Ì«Ã÷°×ÄãµÄÒâ˼ÁË¡£ > > > -- > I like python! > My Donews Blog: http://www.donews.net/limodou > -------------------------------------------------------------------------------- >
2005年09月15日 星期四 09:52
在 05-9-15,Leon Tang<leonmaillist at sohu.com> 写道: > line.strip() 是否必要呢? > 因为split()也是分割空格,而且也是过滤了前后空格的 > 可以测试一下,如果不会在最后多一个空串就可以不用。这样只是一种保险的做法。 -- I like python! My Donews Blog: http://www.donews.net/limodou
Zeuux © 2025
京ICP备05028076号