zoukankan      html  css  js  c++  java
  • python之数据处理

    1.读写 CSV 数据,对于大多数的 CSV 格式的数据读写问题,都可以使用 csv 库。

    import csv
    with open('filename.csv')as f:
        f_csv = csv.reader(f)
        headers = next(f_csv)
        for row in f_csv: #row 为列表形式
    
    import csv
    with open('filename.csv') as f:
        f_csv = csv.DictReader(f)
        for row in f_csv:#row为字典形式
            print(row['stock'])

    2.写入 CSV 数据,可以使用 csv 模块,先创建一个 writer对象。

    import csv
    headers = ['Symbol','Price','Date','Time','Change','Volume']
    rows = [('AA', 39.48, '6/11/2017', '9:36am', -0.18, 181800),
    ('AIG', 71.38, '6/11/2017', '9:36am', -0.15, 195500),
    ('AXP', 62.58, '6/11/2017', '9:36am', -0.46, 935000),
    ]
    with open('filename.csv','w')as f:
        f_csv = csv.writer(f)
        f_csv.writerow(headers)
        f_csv.writerows(rows)
    
    
    #如果是字典数据
    import csv
    
    headers = ['Symbol', 'Price', 'Date', 'Time', 'Change', 'Volume']
    rows = [{'Symbol':'AA', 'Price':39.48, 'Date':'6/11/2017',
    'Time':'9:36am', 'Change':-0.18, 'Volume':181800},
    {'Symbol':'AIG', 'Price': 71.38, 'Date':'6/11/2017',
    'Time':'9:36am', 'Change':-0.15, 'Volume': 195500},
    {'Symbol':'AXP', 'Price': 62.58, 'Date':'6/11/2017',
    'Time':'9:36am', 'Change':-0.46, 'Volume': 935000},]
    
    with open('filename.csv','w')as f:
        f_csv=csv.DictWriter(f,headers)
        f_csv.writeheader()
        f_csv.writerows(rows)

    3.读写 JSON(JavaScript Object Notation) 编码格式的数据

    import json
    data ={'name':'songshichao',
           'sex':'man',
           'age':18}
    json_str = json.dumps(data) #Python 数据结构转换为json
    data = json.loads(json_str)#将一个 JSON 编码的字符串转换回一个Python 数据结构

    4,.如果你要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码 JSON 数据

    with open('data.json', 'w') as f:
        json.dump(data, f)
    
    
    with open('data.json', 'r') as f:
        data = json.load(f)

    5.当数据的嵌套结构层次很深或者包含大量的字段时,为了解决这个问题, 可以考虑使用 pprint 模块的 pprint() 函数来代替普通的 print() 函数

    from urllib.request import urlopen
    import json
    from pprint import pprint
    u = urlopen('http://search.....')
    resp =json.loads(u.read().decode('utf-8'))
    pprint(resp)
    
    #一般来讲,JSON 解码会根据提供的数据创建 dicts 或 lists。如果你想要创建其他类型的对象,可以给 json.loads() 传递 object pairs hook 或 object hook 参数

    6.解析简单的 XML 数据,使用 xml.etree.ElementTree 模块从简单的 XML 文档中提取数据

    import requests
    from xml.etree.ElementTree import parse
    u = requests.get('http://planetpython.org/rss20.xml')
    doc = parse(u)
    for item in doc.iterfind('channel/item'):
        title = item.findtext('title')
        date = item.findtext('pubDate')
        link = item.findtext('link')
        print(title)
        print(date)
        print(link)
        print()
  • 相关阅读:
    13.sqoop的安装
    12.Flume的安装
    11.把文本文件的数据导入到Hive表中
    10.hive安装
    9.centos7 安装mysql
    8.时间同步
    7.编写mapreduce案例
    mysql中如何处理字符
    装箱拆箱隐含的问题
    何谓幂等性
  • 原文地址:https://www.cnblogs.com/master-song/p/8784567.html
Copyright © 2011-2022 走看看