1. 用python读取一个文件夹下的所有CSV文件里某一列数据中最大值,将此最大值所在行截取到新CSV文件中
以下代码可实现你的要求,我有两个csv文件,其中第7列是“实际入库数量”,你只需要修改下面两个代码就可以用了:
1、第15行的7,这是“实际入库数量”的列数
2、第17行的“实际入库数量”,这是列名
# coding=gbk
import glob
import pandas as pd
# 初始化,此变量用来装所有csv数据
all_data_frames = []
# 使用glog.glob找到所有csv文件并将所有数据放到all_data_frames中
for file in glob.glob("*.csv"):
all_data_frames.append(pd.read_csv(file,encoding='gbk'))
# 合并数据
data_frame_concat = pd.concat(all_data_frames,axis=0,ignore_index=True)
# 得到指定列里的最大值
最大值 = max(data_frame_concat.iloc[:,7])
# 得到最大值所在行
最大值所在行 = data_frame_concat[data_frame_concat['实际入库数量']==最大值]
# 输出行结果
最大值所在行.to_csv("最终结果.csv",index=False)
2. 如何用python对csv文件进行数组循环处理
使用 python list即可,因为list可以加入不同的数据类型的数据。
results=list()
lines=open('cvs_file','r').readlines()
forlineinlines:
elements=line.strip().split(',')#supposedlimiteris','
foreinelements:
try:
results.append(float(e))
except:
continue
#
#,soyouneedto
#converseitwithfloatoperator.Butifelementisreadstring
#.
3. 用python处理csv文件,最好可以将里面的文本信息转成一个二维数组的形式,具体如下
思路如下:
导入csv库;
打开文件,并用csv库函数reader读入数据;
csv读入的数据是一行一行的,所以通过循环语句把读到的数据放入到数组里
importcsv#必要库导入
filepath='test.csv'#定义文件名称,本文件要与当前的.py文件要在同一文件夹下,不然要用绝对路径
withopen(filepath,'r')ascsvfile:#打开数据文件
reader=csv.reader(csvfile)#用csv的reader函数读取数据文件
header=next(reader)#读取数据文件的表头
data=[]#定义一个空数组用于保存文件的数据
forlineinreader:#循环读取数据文件并保存到数组data中
data.append(line)#line是个一维数组,是数据文件中的一行数据
print(header)#表头
print(data)#读取的二维数组
4. python如何修改csv文件的内容
你可以读取 这个csv 文件, 读取里面的数据。
然后再把 这些数据处理之后, 写入到 另一个 csv 文件。
(然后你还可以, 将原来的删除)