Python:操作文本文件

1、文本形式的数据文件

从百度搜索《中国主要城市各月平均气温表》,复制粘贴整理为一个文本文件,如下:
北京   -4.6  -2.2  4.5   13.1  19.8  24.0  25.8 24.4   19.4   12.4   4.1      -2.7
  天津   -4.0  -1.6  5.0   13.2  20.0  24.1  26.4 25.5   20.8   13.6   5.2      -1.6
  石家庄 -2.9   -0.1 6.6   14.6  20.9  23.6  26.6  25.0   20.3   13.7  5.7      -0.9
  太原   -6.6   -3.1 3.7   11.4  17.7  21.7  23.6  21.8   16.1   9.9   2.1      -4.9
  呼市   -13.1  -9.1 -0.3  7.9   15.3  20.1  21.9  20.1   13.8   6.5   -2.7      -11.0
  沈阳   -12.0  -8.4 0.1   9.3   16.9  21.9  24.6  23.6   17.2   9.4   0.0       -8.5
  长春   -16.4  -12.7-3.5  6.7   15.0  20.1  23.0  21.3   15.0   6.8   -3.8      -12.8
  哈尔滨 -19.4  -15.4-4.8  6.0   14.3  20.0  22.8  21.1   14.4   5.6   -5.7      -15.7
  上海    3.5   4.6   8.3  14.0   18.8 23.3  27.8   27.7   23.6  18.0  12.3      6.2
  南京   2.0   3.8   8.4  14.8   19.9  24.5  28.0   27.8   22.7  16.9  10.5      4.4
  杭州   3.8   5.1   9.3  15.4   20.0  24.3  28.6   28.0   23.3  17.7  12.1      6.3
  合肥   2.1   4.2   9.2  15.5    20.6  25.0  28.3   28.0   22.9  17.0  10.6     4.5
  福州  10.5   10.7  13.4 18.1   22.1   25.5  28.8   28.2   26.0  21.7  17.5     13.1
  南昌  5.0    6.4   10.9 17.1   21.8   25.7  29.6   29.2   24.8  19.1  13.1     7.5
  济南  -1.4   1.1   7.6  15.2   21.8   26.3  27.4   26.2   21.7  15.8  7.9      1.1
  台北  14.8   15.4  17.5 21.5   24.5   26.6  28.6   28.3   26.8  23.6  20.3     17.1
  郑州  -0.3   2.2   7.8  14.9   21.0   26.2  27.3   25.8   20.9  15.1  7.8       1.7
  武汉   3.0   5.0   10.0 16.1   21.3   25.7  28.8   28.3   23.3  17.5  11.1      5.4
  长沙   4.7   6.2   10.9 16.8   21.6   25.9  29.3   28.7   24.2  18.5  12.5      7.1
  广州   13.3  14.4  17.9 21.9   25.6   27.2  28.4   28.1   26.9  23.7  19.4      15.2
  南宁  12.8   14.1  17.6 22.0   26.0   27.4  28.3   27.8   26.6  23.3  18.6      14.7
  海口  17.2   18.2  21.0 24.9   27.4   28.1  28.4   27.7   26.8  24.8   21.8     18.7
  成都  5.5    7.5   12.1 17.01 20.9    23.7  25.6   25.1   21.2  16.8   11.9     7.3
  重庆  7.2    8.9   13.2 18.0   21.8   24.3  27.8   28.0   22.8   18.2   13.3    8.6
  贵阳  4.9    6.5   11.5 16.3   19.5   21.9  24.0   23.4   20.6   16.1   11.4    7.1
  昆明  7.7    9.6   13.0 16.5   19.1   19.5  19.8   19.1   17.5   14.9   11.3    8.2
  拉萨  -2.2   1.0   4.4  8.3    12.3   15.3  15.1   14.3   12.7   8.3    2.3     -1.7
  西安  -1.0   2.1   8.1  14.1   19.1   25.2  26.6   25.5   19.4   13.7   6.6     0.7
  兰州  -6.9   -2.3  5.2   11.8  16.6    20.3  22.2  21.0    15.8   9.4   1.7     -5.6


2、写Python程序,要求:

  • 数字列表出城市名称。

  • 能查询某个城市的月平均气温。
def disp_area():
    i = 0
    for a in climate_data:
        print("{:>2}:{:<6}\t".format(i,a[0]), end="  ")
        i += 1
        if not (i % 5): print()
    print()

def disp_temp(data):
    print("显示城市:",data[0])
    #print("------",len(data))
    for i in range(1,len(data) ):
        if len(data[i]) != 0:
            #print(i)
            #print(type(data[i]))
            #print(data[i])
            adjustClimat_data.append(data[i])

    print("----------------------------------")
    for j in range(1,len(adjustClimat_data) + 1):
        print("{:>2}月平均气温:{}度".format(j,adjustClimat_data[j-1]))

    print("-----------------------------------")

target_file = 'climate.txt'
with open(target_file,'r') as fp:
    raw_data = fp.readlines()

climate_data = []
adjustClimat_data = []
for item in raw_data:
    #climate_data.append(item.rstrip('\n').split('\t'))
    climate_data.append(item.rstrip('\n').split(' '))
while True:
    disp_area()
    area = int(input("请输入你要查询平均温度的城市:(-1结束)"))
    if area == -1: break
    disp_temp(climate_data[area])
    x = input("请按Enter键回主菜单")
    adjustClimat_data = []

3、运行结果:

 0:         1:  天津     2:  石家庄   3:  太原     4:  呼市    
 5:  沈阳     6:  长春     7:  哈尔滨   8:  上海     9:  南京    
10:  杭州    11:  合肥    12:  福州    13:  南昌    14:  济南    
15:  台北    16:  郑州    17:  武汉    18:  长沙    19:  广州    
20:  南宁    21:  海口    22:  成都    23:  重庆    24:  贵阳    
25:  昆明    26:  拉萨    27:  西安    28:  兰州    29:  西宁    
30:  银川    31:  乌市    
请输入你要查询平均温度的城市:(-1结束)13
显示城市:   南昌
----------------------------------
 1月平均气温:5.0度
 2月平均气温:6.4度
 3月平均气温:10.9度
 4月平均气温:17.1度
 5月平均气温:21.8度
 6月平均气温:25.7度
 7月平均气温:29.6度
 8月平均气温:29.2度
 9月平均气温:24.8度
10月平均气温:19.1度
11月平均气温:13.1度
12月平均气温:7.5度
-----------------------------------
请按Enter键回主菜单

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值