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
。。。。。。

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

未完待续。。。

用Python读取文件的更多相关文章

  1. python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multibyte sequence

    python读取文件时提示"UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal m ...

  2. 解决 python 读取文件乱码问题(UnicodeDecodeError)

    解决 python 读取文件乱码问题(UnicodeDecodeError) 确定你的文件的编码,下面的代码将以'utf-8'为例,否则会忽略编码错误导致输出乱码 解决方案一 with open(r' ...

  3. python 读取文件read.csv报错 OSError: Initializing from file failed

    小编在用python 读取文件read.csv的时候 报了一个错误 OSError: Initializing from file failed 初始化 文件失败 检查了文件路径,没问题 那应该是我文 ...

  4. python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib

    python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib ...

  5. Python 读取文件中unicode编码转成中文显示问题

    Python读取文件中的字符串已经是unicode编码,如:\u53eb\u6211,需要转换成中文时有两种方式 1.使用eval: eval("u"+"\'" ...

  6. python读取文件首行和最后一行

    python读取文件最后一行两种方式 1)常规方法:从前往后依次读取 步骤:open打开文件. 读取文件,把文件所有行读入内存. 遍历所有行,提取指定行的数据. 优点:简单,方便 缺点:当文件大了以后 ...

  7. python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件

    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...

  8. 【python】python读取文件报错UnicodeDecodeError: 'gbk' codec can't decode byte 0xac in position 2: illegal multibyte sequence

    python读取文件报错UnicodeDecodeError: 'gbk' codec can't decode byte 0xac in position 2: illegal multibyte ...

  9. python 读取文件时报错: UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 127: illegal multibyte sequence

    UnicodeDecodeError: 'gbk' codec can't decode byte 0xa4 in position 127: illegal multibyte sequence p ...

  10. Python读取文件编码及内容

    Python读取文件编码及内容 最近做一个项目,需要读取文件内容,但是文件的编码方式有可能都不一样.有的使用GBK,有的使用UTF8.所以在不正确读取的时候会出现如下错误: UnicodeDecode ...

随机推荐

  1. C#连接数据库open函数失败

    错误信息:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider ...

  2. R语言barplot双坐标作图

    需要注意的是,设置其中的柱子的宽度,间隔的宽度.有公式如下 width为柱子的宽度 space为间隔宽度 barnumbers 为柱子数量 那么xlim的设置右侧范围为:(width + space) ...

  3. DOM结构及优化

    1.DOM树中三种常见的DOM节点: 1>元素节点:上图中<a>,<h1>等都是元素节点,即标签 2>文本节点:向用户展示的内容,如...中的"文档标题& ...

  4. (转)c# 扩展方法

    扩展方法能够向现有类型“添加”方法,而无需创建新的派生类型,重新编译或以其他方式修改原始类型.扩展方法必须是静态方法,可以像实例方法一样进行调用.且调用同名中实际定义的方法优先级要高于扩展方法. 先来 ...

  5. p1211 Prime Cryptarithm

    直接深搜+检验. #include <iostream> #include <cstdio> #include <cmath> #include <algor ...

  6. codeforces668b //Little Artem and Dance// Codeforces Round #348

    题意:2种操作,转动或者奇偶位互换. 不论怎么交换,1的后两位一定是3,3的后两位一定是5.因此只要记录1,2的位置. //#pragma comment(linker,"/STACK:10 ...

  7. 安装 zookeeper cluster

    安装 zookeeper cluster zookeeper-3.4.5.tar.gz n0 10.69.10.193 n1 10.69.10.188 n2 10.69.10.192 n0 上解压 z ...

  8. Robot Movement(机器人移动)

    中文标题[机器人移动] 这个题目是 Kayak 发布的代码挑战题目. 我认为题目本身描述的不是十分清楚,方法需要返回结果,但是结果没有说明是机器人最后的坐标位置,还是最后的坐标位置距离原点的距离.同时 ...

  9. Mysql中从一张表中的数据添加到另一张表

    A为原表 B为要加入的表$sql="insert into B select * from A where id=$id";

  10. Pascal's Triangle 2(leetcode java)

    问题描述: Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return ...