01
csv的导入方法
1、如果数据是很规范的那种的话,而且文件不算太大的话,可以用以下代码导入即可:
import pandas as pd
csv_data = pd.read_csv(filename)#没有特殊分隔符,就用这一句,
df = pd.read_csv(filename,';')#如果有特殊分隔符,就用这一句
df = pd.read_csv(filename,';',encoding='GBK')#如果有特殊分隔符,就用这一句,还有编码问题,就用这一句
2、适合数据量大,且你需要在导入的每行中再批量处理每一行的数据
import csvfilename='/Users/Betty/Desktop/data_output.csv'
data = []withopen(filename,'r') as csvfile:
csv_reader = csv.reader(csvfile) # 使用csv.reader读取csvfile中的文件
data_name = next(csv_reader) # 读取第一行每一列的标题
for row in csv_reader: # 将csv 文件中的数据保存到data中
data.append(row)
df = pd.DataFrame(data[1:], columns=data_name) #转成dataframe
3、如果你的数据量特别大,一启动就怕卡机,那可以先用代码看下每一行长什么样子,测试下数据处理的步骤,
可以用以下代码,只读一行:
import csvwithopen('data.csv', 'r') as f:
reader = csv.reader(f)
result = list(reader)
print(result[1])
4、如果你的数据纬度很多,不想读那么多列,可以用以下方式读其中一列或者多列
import csvwithopen('A.csv','rb') as csvfile:
reader = csv.reader(csvfile)
column = [row[2] forrowin reader]#读其中的第2列的数据
5、那么假设你拿到的数据是那种json格式放在csv里面的怎么办
import csvfilename='/Users/Betty/Desktop/data_output.csv'
data = []withopen(filename,'r') as csvfile:
csv_reader = csv.reader(csvfile) # 使用csv.reader读取csvfile中的文件
data_name = next(csv_reader) # 读取第一行每一列的标题
for row in csv_reader: # 将csv 文件中的数据保存到data中
row=json.loads(row)#在第一种方法的基础上,加上解析的语句,其他类型的放在csv也是同样的道理
data.append(row)
02
txt导入方法
txt也可以一句话读,但是读进来的数据会变成一个str格式的数据,假设你的数据是一段话,那么可以用这个方法要是是一行一行的文本数据,你就乖乖上面用哪个中一行一行读的,你的数据是数值数据可以用loadtxt读
with open("/Users/Betty/Downloads/train.txt", "r") as f:
data=f.read()
你的数据是数值数据可以用loadtxt读,直接是一个dataframe
import numpy as np
data=np.loadtxt("/Users/Betty/Downloads/train.txt")
2、但是你还是觉得上面的方法很麻烦,那就可以用pandas导入,这个方法的导入直接就是dataframe(),适合不需要怎么特殊处理,毕竟规整的数据。
import pandas as pd
data=pd.read_table("/Users/Betty/Downloads/train.txt")
3、如果你的数据量特别大,那么就需要用open了,因为上面哪种方法,数据量大一点就会很卡,很卡,很卡,那么这里要注意readline和readlines的区别,readline是读一行,在with open 下面第一句,意味着,txt数据第一行为变量名,可以用这个语句保留变量名,等下你转dataframe的时候可以用。readlines则读的是多行,所以需要for循环出数据
with open("test.txt", "r") as f:
title_name = f.readline()
for line in f.readlines():
line = line.strip('\n') #去掉列表中每一个元素的换行符
print(line)
03
xls导入方法
1、这种方法适合你只有一个sheet,读进去直接就是dataframe。
import pandas as pddata=pd.read_excel('/Users/Betty/Downloads/excel2 (1).xls')
2、这个适合多个sheet,这里就基本语句,要循环,要变成函数,你就自己再加工哈。xls格式的表格,因为会涉及多个sheet,所以导入数据时,会麻烦一点点。
import xlrddata = xlrd.open_workbook('/Users/Betty/Downloads/excel2 (1).xls')
data.sheet_names()#这个语句可以查看全部sheet的名字,生成一个list
table = data.sheet_by_name('选择题')# 通过文件名获得工作表,获取工作表1
data_total=[]
for k in range(table.nrows):
data_total.append(table.col_values(k))#循环全部的行,追加成一个list