用Python读取文件

1. 读取TXT文件

CODE                                  CUR      PRV.   CLOSING RATE   HIGH    LOW  CLOSING   SHARES TRADED      TURNOVER ($)
 代號  NAME OF STOCK  股票名稱         貨幣   前收市  BID 買  ASK 賣  最高    最低    收市        成交股數          成交金額

     1 CKH HOLDINGS   長和       HKD   97.75   97.65   97.70   98.20   96.80   97.70       4,897,314       477,590,424
     2 CLP HOLDINGS   中電控股     HKD   81.75   81.75   81.80   81.95   81.40   81.80       1,879,859       153,694,750
     3 HK & CHINA GAS 香港中華煤氣   HKD   15.50   15.54   15.56   15.56   15.46   15.56       6,453,513       100,156,136
     4 WHARF HOLDINGS 九龍倉集團    HKD   66.75   66.20   66.25   67.40   65.75   66.20       3,570,649       236,841,815
*    5 HSBC HOLDINGS  匯豐控股     HKD   64.45   66.35   66.40   66.85   64.45   66.35      63,135,377     4,157,578,926
     6 POWER ASSETS   電能實業     HKD   70.05   70.60   70.65   70.75   69.90   70.65       4,798,590       337,927,261
     7 HOIFU ENERGY   凱富能源     HKD    0.99    0.91    0.93    0.99    0.92    0.93      11,472,000        10,929,920
     8 PCCW           電訊盈科     HKD    4.36    4.37    4.38    4.39    4.36    4.38       3,286,937        14,387,633
     9 NINE EXPRESS   九號運通     HKD    0.33    0.32    0.33    0.33    0.32    0.33       3,186,000         1,035,420

今天的目标的读取内容像上面一样格式的TXT文件。有以下几种方式:

1)按行读取

f = open('/home/luowang/python_script/data/0.txt', 'rU')
lines = f.readlines()#读取全部内容
print type(lines)
print lines[1].decode('gbk')

运行结果如下:

<type 'list'>
 代號  NAME OF STOCK  股票名稱         貨幣   前收市  BID 買  ASK 賣  最高    最低    收市        成交股數          成交金額

注意:a. 按行读取返回的是list,而不是str。

         b. 因为编码的不同,直接读取会乱码,这里将list中的元素按照它的编码格式进行了解码,然后打印输出就不会出错了。

         c. 以‘rU’只读模式打开,其中的'U'表示忽略不同的换行符公约,因为这个公约因操作系统的不同而不同。

2)整体读取

f = open('/home/luowang/python_script/data/0.txt', 'r')
lines = f.read()#读取全部内容
print type(lines)
u=lines.decode('gbk')
print u

运行结果如下:

<type 'str'>
 CODE                                  CUR      PRV.   CLOSING RATE   HIGH    LOW  CLOSING   SHARES TRADED      TURNOVER ($)
 代號  NAME OF STOCK  股票名稱         貨幣   前收市  BID 買  ASK 賣  最高    最低    收市        成交股數          成交金額

     1 CKH HOLDINGS   長和       HKD   97.75   97.65   97.70   98.20   96.80   97.70       4,897,314       477,590,424
     2 CLP HOLDINGS   中電控股     HKD   81.75   81.75   81.80   81.95   81.40   81.80       1,879,859       153,694,750
     3 HK & CHINA GAS 香港中華煤氣   HKD   15.50   15.54   15.56   15.56   15.46   15.56       6,453,513       100,156,136
     4 WHARF HOLDINGS 九龍倉集團    HKD   66.75   66.20   66.25   67.40   65.75   66.20       3,570,649       236,841,815
*    5 HSBC HOLDINGS  匯豐控股     HKD   64.45   66.35   66.40   66.85   64.45   66.35      63,135,377     4,157,578,926
     6 POWER ASSETS   電能實業     HKD   70.05   70.60   70.65   70.75   69.90   70.65       4,798,590       337,927,261
。。。。。。

显然,直接读取,得到的是一个很长的字符串。

未完待续。。。

原文地址:https://www.cnblogs.com/no-tears-girl/p/6937742.html