python导入文件列行_python数据导入之导入各类文件方法

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

你可能感兴趣的:(python导入文件列行)