Python 处理 CSV/EXCEL 表格文件

只想说,数据挖掘工作,80%时间都花在处理数据上了,这句话真不假!

最近和小伙伴组了个队参加数据分析比赛,记录下我处理 csv 文件的一些步骤吧:

修改csv文件

可以用csv模块1,官方文档2

import pandas as pd
import csv
city_class={1:['北京','上海','重庆','天津'],2:['成都','大连','沈阳'],3:['长春']}
with open('city_test.csv','r+') as f:
    f.readline()
    data=csv.reader(f)
    rows=[r for r in data]
    print(rows)
    for i in rows:
        for key,values in  city_class.items():
            if i[0] in values:
                i[0]=key
    writer = csv.writer(open('output.csv', 'w'))
    print(rows)
    writer.writerows(rows)                

修改excel

csv文件问题多多,不如直接用exel的xlsx文件也ok:

data = pd.read_excel('test.xlsx')
data['city'].map(dict)

这里使用map3对中文数据的城市进行匹配,替换成数字。

将excel文件中转换成dict

a=df.set_index('city')['num'].to_dict()

将excel中的两列转换成字典,用来匹配我上面的城市。4

统计excel文件行数和列数

rows=len(data.index)
rows=data['某列名'].count()
data.shape()    #获得形状,是一个tuple   行数*列数

EDIT: As noted @Dan Allen in the comments len(df.index) and df[0].count() are not interchangeable as count excludes NaNs,5

统计计数

计数统计我们使用:value_counts()

参考


  1. 官方-CSV File Reading and Writing

  2. so-python修改csv specific values

  3. index-pandas-map

  4. so-python pandas dataframe to dictionary

  5. so-how to get row count of pandas dataframe?

转载于:https://www.cnblogs.com/michael-xiang/p/10467480.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值