由于工作需要,需要用python提取csv文件中内容,这篇文章主要是记录下用pandas读取csv文件内容的一些简单的操作,适合python初学者。

首选需要安装pandas

查看是否已安装pandas

pip list

若没有安装,则使用下面语句安装即可

pip install pandas

pandas安装完成后,下面来记录下读取csv文件

首先看看csv文件内容

 

step1:需要把 csv和pandas引入进来

获取字段

import csv
import pandas as pd
def reader(master_table):
	file = 'csv/' + master_table + '.csv'
	df = pd.read_csv(file,encoding='GB18030') #如果不写encoding='GB18030',则可能会出现中文乱码
	labels = list(df.columns.values) #获取所有字段
	print(labels)

if __name__ == "__main__":
	reader('test')

执行结果如下,这是csv文件第一行的内容

['type_name', 'id', 'name', 'category', 'price']

读取csv内容:

import csv
import pandas as pd
def reader(master_table):
	file = 'csv/' + master_table + '.csv'
	df = pd.read_csv(file,encoding='GB18030') #如果不写encoding='GB18030',则可能会出现中文乱码
	labels = list(df.columns.values) #获取所有字段
	#遍历csv文件内容
	for index,row in df.iterrows():
		if(index > 1):
			print(row)
			print("第一本书的名称%s,价格为%d元" %(row['name'],int(row['price'])))
			exit()


if __name__ == "__main__":
	reader('test')

返回结果如下:

 

分组 

import csv
import pandas as pd
def reader(master_table):
	file = 'csv/' + master_table + '.csv'
	df = pd.read_csv(file,encoding='GB18030') #如果不写encoding='GB18030',则可能会出现中文乱码
	groupList = df.groupby('category')
	for category,group in groupList:
		print(category)
		print(group)


if __name__ == "__main__":
	reader('test')

输出结果:

对分组数据进行遍历

import csv
import pandas as pd
def reader(master_table):
	file = 'csv/' + master_table + '.csv'
	df = pd.read_csv(file,encoding='GB18030') #如果不写encoding='GB18030',则可能会出现中文乱码
	groupList = df.groupby('category')
	for category,group in groupList:
		for row_index,row in group.iterrows():
			print(row_index)
			print(row)
			print(row['name'])
		exit()


if __name__ == "__main__":
	reader('test')

输出结果:

 统计每个分组中数量

import csv
import pandas as pd
def reader(master_table):
	file = 'csv/' + master_table + '.csv'
	df = pd.read_csv(file,encoding='GB18030') #如果不写encoding='GB18030',则可能会出现中文乱码
	groupList = df.groupby('category')
	print(groupList.size())
	exit()


if __name__ == "__main__":
	reader('test')

输出结果:

更多推荐

python读取csv文件