zoukankan      html  css  js  c++  java
  • pandas处理csv

    import pandas as pd
    from pandas import Series,DataFrame

    打开csv文件

    deli = pd.read_csv('../得力.csv')

    转换为DataFrame数据类型

    df = DataFrame(data=deli)

    更改列名

    df.rename(columns={"title":"商品名称","price":"价格","prodCode":"型号","brand":"品牌","cskucode":"商品id","detailDesc":"商品简介","First_class":"一级分类","Second_class":"二级分类"},inplace=True)
    df.drop(["_id"],axis=1,inplace=True)
    df

    根据列名重新排列

    df = df.loc[:,["商品名称","价格","型号","品牌","商品id","商品简介","一级分类","二级分类"]]

    处理列中字符串

    df["商品名称"] = df["商品名称"].str.strip("
    ")
    df

    保存DataFrame数据为csv文件

    df.to_csv("test得力.csv",encoding="utf_8_sig")

    关于utf-8与utf_8_sig的区别:

    UTF-8以字节为编码单元,它的字节顺序在所有系统中都是一様的,没有字节序的问题,也因此它实际上并不需要BOM(“ByteOrder Mark”)。但是UTF-8 with BOM即utf-8-sig需要提供BOM。

    1)程序输出中出现乱码的原因是因为python2中中文编码的问题,需要注意的是要将处理的中文文件的编码和python源文件的编码保持一致,这样不会出现中文乱码。

    2)在程序中能够正常输出中文,但是导出到文件后使用excel打开是出现中文乱码是因为excel能够正确识别用gb2312、gbk、gb18030或utf_8 with BOM 编码的中文,如果是utf_8 no BOM编码的中文文件,excel打开会乱码。

    其他:

    判断列中是否有空值

    df.isnull().any(axis=0)

    DataFrame文档链接 http://pandas.pydata.org/pandas-docs/stable/reference/frame.html

  • 相关阅读:
    MySQL select语句中where条件的提取过程
    MySQL特性:ICP,Index Condition Pushdown
    MySQL特性:BKA,Batched Key Access,批量索引访问
    MySQL特性:MRR,Multi-Range Read,多范围读
    show engine innodb status 输出结果解读
    IPv6的一点使用小计
    MySQL 通过ibd恢复数据
    explain 小结
    clickhouse的多路径存储策略
    cenos6.5升级glibc2.18
  • 原文地址:https://www.cnblogs.com/JinMuBaoBao/p/10885533.html
Copyright © 2011-2022 走看看