#通过python处理csv数据,筛选出列坐标中的最大值。
一、 CSV模块使用介绍
和Excel相比,CSV文件没有:
·值没有类型,所有东西都是字符串;
·没有字体大小或颜色设置
·没有多个工作表
·不能指定单元格高度和宽度
·不能合并单元格
·不能嵌入图像或图标
csv文件的优势是简单。
1.1 reader对象
import csv
exampleFile = open('example.csv')
exampleReader = csv.reader(exampleFile)
exampleData = list(exampleReader)
print(exampleData)
print(exampleData[0][0], exampleData[0][1], exampleData[0][2])
1-csv模块是python自带的,不需要安装就可以导入它。
4-要访问reader对象中的值,最直接的方法就是将它转换成一个普通的python列表,即将他的值传给list()。在这个reader对象上应用list()函数,将返回一个列表的列表。
6-既然已经将csv文件表示为列表的列表,就可以使用表达式 exampleData[row][col]来访问特定行和列的值 4/5/2014 13:34 Apples 73
1.2 在for循环中,从reader对象读取数据
import csv
exampleFile = open('example.csv')
exampleReader = csv.reader(exampleFile)
for row in exampleReader:
print('Row #' + str(exampleReader.line_num) + ' ' + str(row))
在导入csv模块,并从csv文件获得reader对象之后,就可以循环遍历reader对象中的行了。每一行是一个值的列表,每个值表示一个单元格。
二、控制流语句-for详解
参考:
目录
一、 CSV模块使用介绍
1.1 reader对象
1.2 在for循环中,从reader对象读取数据
二、控制流语句-for详解
2.1 for循环range()函数介绍
1、for循环的基本用法
2、range()函数的用法
3、for循环和range()函数的应用场景
4、案例分析
使用for循环和range()函数实现九九乘法表
使用for循环和range()函数进行数据统计
练习题
1.1读取csv,使用默认的标题行,逗号分隔符
读取CSV文件中,第二列数据并输出最大值
1.2读取txt文件,自己指定分隔符、列名
2.1 for循环range()函数介绍
for循环和range()函数是非常常用的语法结构,用于遍历序列和重复执行一段代码块。
1、for循环的基本用法
在Python中,for循环用于遍历序列(如列表、元组、字符串)或其他可迭代对象(如迭代器、生成器)。其基本语法如下:
for 变量 in 可迭代对象:
执行语句1
执行语句2
...
其中,变量是每次循环中的元素值,可迭代对象是一个容器或者一个可迭代的对象。在每次循环中,代码块中的语句将被执行。下面是一个简单的例子:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
运行结果为:
apple
banana
cherry
2、range()函数的用法
ange()函数是一个用于生成整数序列的函数,其基本语法如下:
range(start, stop, step)
参数start表示序列的起始值,默认为0;参数stop表示序列的结束值,取不到该值;参数step表示序列中的元素之间的步长,默认为1。下面是一个简单的例子:
for i in range(1, 5):
print(i)
# 运行结果为:
# 1
# 2
# 3
# 4
3、for循环和range()函数的应用场景
- 遍历列表 for循环和range()函数常用于遍历列表,并对列表中的元素进行操作。例如,计算列表中所有元素的和:
- 遍历字典 虽然字典本身是无序的,但是可以通过遍历字典的键或值来进行操作。例如,打印字典中的键和对应的值:
4、案例分析
使用for循环和range()函数实现九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j} x {i} = {i*j}", end="\t")
print()
使用for循环和range()函数进行数据统计
for循环和range()函数在数据统计和分析中也是非常有用的工具。下面是一个案例,通过统计学生成绩的平均值和最高分:
scores = [85, 92, 78, 90, 89]
total = 0
max_score = 0
for score in scores:
total += score
if score > max_score:
max_score = score
average = total / len(scores)
print("平均分:", average)
print("最高分:", max_score)
运行结果为:
平均分: 86.8
最高分: 92
练习题
使用for循环和range()函数找出列表中的最小值
numbers = [15, 8, 27, 10, 6]
min_number = numbers[0]
for i in range(1, len(numbers)):
if numbers[i] < min_number:
min_number = numbers[i]
print(min_number)
三、使用Pandas处理csv文件
Pandas需要先读取表格类型的数据,然后进行分析
1.1读取csv,使用默认的标题行,逗号分隔符
pandas相关函数:
# 使用pd.re ad_csv读取数据
data = pd.read_csv('文件名.csv')
# 查看前几行的数据,默认前5行
data.head()
# pandas的索引、列名
#查看数据形状,返回(行数,列数)
data.shape
#查看列名列表
data.columns
#查看索引列
data.index
#查看每列的数据类型
data.dtypes
读取CSV文件中,第二列数据并输出最大值
import pandas as pd
import numpy as np
data = pd.read_csv('11111111111111111111111.csv')
print(data.index,data.columns)
col2 = data['200.00']
max_number = col2[0]
for i in range(1,len(col2)):
if col2[i] > max_number:
max_number = col2[i]
print(max_number)
1.2读取txt文件,自己指定分隔符、列名
fpath = "./***/***.txt"
pvuv = pd.read_csv(
fpath,
sep="\t", # 指定分隔符
header=None, #没有列名
names=['time','temp'] #指定列名
)