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 文件。
(然後你還可以, 將原來的刪除)