• 《火车站信息显示》


    #conding=utf-8
    
    #火车站信息显示
    
    import requests
    
    #xls 文件读取 火车站代码导入
    import xlrd
    import os
    #表格显示信息
    from prettytable import PrettyTable
    
    #打开文件
    workbook = xlrd.open_workbook(r'D:\untitled\hc.xls')
    #读取第一个页面
    sheet = workbook.sheet_by_name(workbook.sheet_names()[0])
    
    
    #写入数组
    listdd=[]
    for i in range(1,sheet.nrows):
        dd=sheet.row_values(i)
        dds=dd[0].split('|')
        ddds=[dds[2],dds[3]]
        listdd.append(ddds)
    
    os.system('cls')
    word = input('始发站:')
    word2 = input('到达站:')
    shij=input('日期2018-11-02格式:')
    print('正在查询...')
    #转换对应火车站代码
    for i in range(len(listdd)):
        global wordd
        if word == listdd[i][0]:
            wordd = listdd[i][1]
    
    for i in range(len(listdd)):
        global wordd2
        if word2 == listdd[i][0]:
            wordd2 = listdd[i][1]
    
    #头信息
    header={
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'
    }
    
    #替换火车站 日期
    url='https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date='+shij+'&leftTicketDTO.from_station='+wordd+'&leftTicketDTO.to_station='+wordd2+'&purpose_codes=ADULT'
    response=requests.get(url,headers=header)
    response.encoding=response.apparent_encoding
    #接收数据
    pp=response.json()
    idd=pp['data']['map']
    pp=pp['data']['result']
    
    lists=[]
    #表头
    biaotou=[' 车次 ','出发站 ','到达站 ','开始时间','到达时间',' 历时 ','商务座 ','一等座 ','二等座 ','高级软卧',' 软卧 ',' 硬卧 ',' 软座 ',' 硬座 ',' 无座 ']
    aa=PrettyTable(biaotou)
    for i in pp:
        list=[]
        list=i.split('|')
        lists.append(list)
    for d in lists:
        kk=[]
        for i in idd.keys():
            if d[6]==i:
                d[6] = idd[i]
            elif d[7]==i:
                d[7] = idd[i]
        kk = [d[3], d[6], d[7], d[8], d[9], d[10], d[32], d[31], d[30], d[21], d[23], d[28], d[24], d[29], d[26]]
        for k in range(15):
            if kk[k]=='':
                kk[k]='--'
        aa.add_row(kk)
        
        
    print('查询结束,共有{0}趟列车。'.format(len(lists)))
    
    print(aa)
    
    
    
    '''
    车次 3:K7727
    出发站 6:BXP
    到达站 7:TJP
    开始时间 8:00:42
    到达时间 9:02:33
    历时 10:01:51
    商务座 32:5
    特等座 
    一等座 31:14
    二等座 30:有
    高级软卧 21:4
    软卧 23:6
    硬卧 28:有
    软座 24:有
    硬座 29:有
    无座 26:无'''
  • 相关阅读:
    strpbrk — 在字符串中查找一组字符的任何一个字符
    strip_tags — 从字符串中去除 HTML 和 PHP 标记
    str_word_count — 返回字符串中单词的使用情况
    str_split — 将字符串转换为数组
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
  • 原文地址:https://www.cnblogs.com/huazhou695/p/9882854.html
Copyright © 2020-2023  润新知