zoukankan      html  css  js  c++  java
  • python数据处理(一)

    csv数据处理ReaderWriterexcel数据处理

    csv数据处理

    csv表示”Comma-Separated Values(逗号分隔的值)”,csv文件时简化的电子表格,保存为纯文本文件。
    python中解析csv文件可以使用csv模块。

    • 注意:csv是文本文件,通过打开文件的操作,将其内容读入一个字符串,然后通过字符串的split()方法处理每行文本取得值。需要注意csv文件中也有自己的转义字符,允许逗号或者其他字符作为值的一部分,split()方法无法处理这部分转义字符。所以处理csv文件时为避免这些潜在的问题,建议使用csv模块处理csv文件。

    Reader

    使用csv模块从csv文件中读取数据,需要创建一个Reader对象,可以通过Reader对象迭代遍历csv文件中的每一行。

    import csv
    with open("example.csv", encoding='utf-8') as dataObject:
    dataReader = csv.reader(dataObject)
    for row in dataReader:
    print("第{0}行:{1}".format(dataReader.line_num, row))
    Reader对象的line_num变量是当前的行号。
    输出结果
    1行:['2018/06/09', 'Apples', '73']
    2行:['2018/06/10', 'Cherries', '85']
    3行:['2018/06/11', 'Pears', '14']

    Writer

    Write对象可以将数据写入到csv文件中。
    首先调用open()并传入w,以写模式打开一个文件。这时会创建一个对象。
    然后将创建的对象传递给csv.writer(),创建一个Writer对象。
    接下来调用Writer对象的writerow()方法写入文件。该方法接受参数为列表,返回值为写入文件这一行中的字符数(包括换行符)。

    import csv
    with open("test.csv", 'w', encoding='utf-8', newline='') as outputFile:
    dataWriter = csv.writer(outputFile)
    dataWriter.writerow(['a', 'b', 'c'])
    dataWriter.writerow(['啊', '吧', '次'])
    dataWriter.writerow(['A', 'Hello,World!', 'C'])
    最后输出结果
    a,b,c
    啊,吧,次
    A,"Hello,World!",C

    此处的Hello,Wrold!中的逗号自动转义,使用双引号处理了。
    在windows中open()需加上newline=''参数,否则将出现2倍行距的情况。
    写入的文件必须已经存在。

    delimiter 指定分隔符,默认为逗号
    lineterminator 行距,默认为单倍行距

    dataWriter = csv.writer(outputFile, delimiter='	', lineterminator='
    
    ')

    上面表示使用制表符作为分隔符,两倍行距(也就是行之间字符变为2个换行符)。

    excel数据处理

    excel的操作都是通过第三方库来进行。常用的有xlrd、xlwt、xluntils、pyExcelerator、openpyxl。

    • xlrd只能进行读取excel文件,没法进行写入文件。
    • xlwt可以写入文件,但是不能在已有的excel的文件上进行修改。
      vxluntils可以对文件进行复制和修改,该模块功能实现依赖于xlrd和xlwt。
    • pyExcelerator模块与xlwt类似,也可以用来生成excel文件,同时支持单元格合并、冻结等操作。
      vopenpyxl也支持文件的读取、写入、创建和删除工作表、设置字体格式、单元格合并、冻结等操作。
    I am a slow walker,but I never walk backwards.
  • 相关阅读:
    print(end=" ") 滚动输出到屏幕
    写入到csv文件的两种方式(pd.DaaFrame 和 csv.writerow)
    pytorch 损失函数(nn.BCELoss 和 nn.CrossEntropyLoss)(思考多标签分类问题)
    pytorch实战(二)hw2——预测收入是否高于50000,分类问题
    信用卡新颖的攻击方式,黑客可非接触式卡进行交易
    微软结束对SolarWinds黑客的内部调查
    Apple M1芯片首款恶意软件曝光
    新的Office恶意软件,黑客可远程窃取信息
    如何审核Active Directory中的密码更改
    特斯拉恶意软件使用新的传送和规避技术
  • 原文地址:https://www.cnblogs.com/jiangshanwang/p/9165991.html
Copyright © 2011-2022 走看看