使用python处理csv数据的常规做法

1. 导入数据

2. 处理数据

3. 分析数据

 

1. 导入数据

在程序开始的地方,导入所有需要的包,这里是专门用来处理csv文件的包。如果是excel表格,可以把它的后缀改为.csv,后面处理方法则相同。

import csv

#read file, for example
file_path = 'C:/Users/Mytest/test.csv'
file = open(file_path)
data = []
for i in file.readlines():
    data.append(i)

file.close()

 

上面的file.readlines()就是把csv文件中的每一行都读出来。如果是file.readline(),则只会读首行出来。

另外,最后记得file.close(),养成良好的习惯。当然,也可以用with * open as*的方法。

2. 处理数据

现在我们把csv的数据一行行地读到了data这个列表里了。csv里数据有多少行,data的length就是多么大。

然后,先来清洗一下数据。

现在data[0]是一个尾端带'\n'的字符串。我们想把data的每一行都处理成像表格里一样,可以在上面读数据的程序中加入这么几行。

如下

new_data = []
for row in data:
    tmp = row.strip('\n')  #去掉每行最后的回车符
    tmp = tmp.split(',')   #根据','来分割字符串,使之成为含有一个个数据的列表
    new_data.append(tmp)   #new_data的每一行数据就是一个列表

3. 分析数据

我们 拿到new_data后,可以初步分析数据了。比如,可以看它的长度,每一行的数据个数等等。还可以进一步清洗数据。

len_data = len(new_data)        #new_data的长度,即原csv表格里的行数
len_element = len(len_data[0])  #new_data第一行数据的长度,即原csv表格里的列数

如果csv的第3列是数字类型的数据,我们想把new_data中对应的数据转换类型,可以如下操作:

for i in new_data:
    tmp = i[2]           #csv第三列为每行list中的第3个数据,下标为2
    new_tmp = int(tmp)   #如果此列数据包含小数的,应用new_tmp = float(tmp)
    i[2] = new_tmp

如果我们想把第3列中数值大于100的那一行数据提出来,可以再做如下操作:

select_data = []
for i in new_data:
    if i[2]>100:
    select_data.append(i)   #这是复制了符合条件的整个行的数据到新的list里

后记:

为了更方便地处理数据,我们可以把select_data转换成numpy array格式。

import numpy as np
select_data1 = np.array(select_data)
select_data1.shape
#select_data1.shape会得到一个元祖,如(100, 20),其中100为行数,20为列数

更多学习资料,请关注下面的公众号:不定期分享

  1. 深度学习网络总结
  2. 机器学习算法及其应用场景
  3. 算法与数据结构(leetcode 题解)
  4. cuda编程与并行优化
  5. 其他读书分享如:《战国策》,《智囊全集》
  6. 宇宙常识科普与星座辨别
  7. 等等

 

来自 <https://mp.csdn.net/mdeditor/102913743>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值