① python 如何逐列讀取csv文件中的字元串並和想要的字元串做比較
你好:
你這個:res =list(ifile)
貌似寫的不好:
建議你:
打開csv文件,然後逐行讀取;
可以先讀取,然後放到一個list裡面;
最後比較。
② python 兩個csv文件對此處理
input={}
withopen('tst1.csv')asf:
forlineinf:
key,field1,field2,field3=line[:-1].split(',')
input[key]=(key,field1,field2,field3)
withopen('tst2.csv')asfr,open('output.csv',w)asfw:
forlineinfr:
key,field1,field2,field3=line[:-1].split(',')
ifkeyininput:
ifinput[key][3]!='99991231':
delinput[key]
continue
iffield3=='99991231':
fw.write(','.join(input[key])+' ')
delinput[key]
continue
fw.write(line)
content=[]
forkeyininput:
fw.write(','.join(input[key])+' ')
直接在網頁里輸入的,沒測試。
③ python內兩個CSV文件數據比較。。。求大神解答!!
t=open('gzb.csv').readlines()
d=[[int(x)forxiny.split(',')]foryint[1:]]
t1=open('gzb1.csv').readlines()[1:]
d1=[[int(x)forxiny.split(',')[:-1]]foryint1]
o=[t1[i][-2]ifd1[i][1]-1<=d[i][1]<=d1[i][1]+1andd1[i][2]-1<=d[i][2]<=d1[i][2]+1else''foriinrange(len(t1))]
open('out.csv','w').writelines([t[0]]+[t[i+1].strip()+o[i]+' 'foriinrange(len(t)-1)])
我想問題中應該是閉區間,你給的是開區間,我按閉區間寫
④ python 查找csv數據的問題
你好
這個比較簡單吧!
importcsv
withopen('d:\1.csv','rb')ascsvfile:
reader=csv.reader(csvfile)
column=[row[3]forrowinreader]
print"第一條數據是:"+column[1]
print"最後條數據是:"+column[-1]
print("最後一條數據位置{:^5}".format(len(column)-1))
望採納!
⑤ python對csv文件進行數據處理與統計
如果是這樣,把數據表弄到word中,看看數據左右是否有空格,如果有,就用「居中」罰礌竄啡訶獨撮掃鄲激處理,把空格去掉,再粘貼回Excel即可進行計算了。
在Excel中處理文本類型的數據,還真的有些無奈呢。
⑥ 怎麼用python讀取csv數據
csv是我接觸的比較早的一種文件,比較好的是這種文件既能夠以電子表格的形式查看又能夠以文本的形式查看。最早接觸是在別人的Perl腳本中,或許是為了充分利用Perl的文本處理能力。不過,日常的生活工作中我用到的比較多的倒還是電子表格。
創建一個電子表格如下:
使用Mac中Numbers功能將其導出為csv文件,使用文本查看文件內容如下:
GreydeMac-mini:chapter06 greyzhang$ cat data.csv
index,name,comment,,,,
1,name_01,coment_01,,,,
2,name_02,coment_02,,,,
3,name_03,coment_03,,,,
4,name_04,coment_04,,,,
5,name_05,coment_05,,,,
6,name_06,coment_06,,,,
7,name_07,coment_07,,,,
8,name_08,coment_08,,,,
9,name_09,coment_09,,,,
10,name_10,coment_10,,,,
11,name_11,coment_11,,,,
12,name_12,coment_12,,,,
13,name_13,coment_13,,,,
14,name_14,coment_14,,,,
15,name_15,coment_15,,,,
16,name_16,coment_16,,,,
17,name_17,coment_17,,,,
18,name_18,coment_18,,,,
19,name_19,coment_19,,,,
20,name_20,coment_20,,,,
21,name_21,coment_21,,,,
換用pandas嘗試數據文件讀取如下:
In [1]:importpandasaspd
In [2]:ls
data.csv data.numbers
In [3]:data = pd.read_csv('data.csv')
In [4]:data
Out[4]:
index name comment Unnamed: 3 Unnamed: 4 Unnamed: 5 Unnamed: 6
0 1 name_01 coment_01 NaN NaN NaN NaN
1 2 name_02 coment_02 NaN NaN NaN NaN
2 3 name_03 coment_03 NaN NaN NaN NaN
3 4 name_04 coment_04 NaN NaN NaN NaN
4 5 name_05 coment_05 NaN NaN NaN NaN
5 6 name_06 coment_06 NaN NaN NaN NaN
6 7 name_07 coment_07 NaN NaN NaN NaN
7 8 name_08 coment_08 NaN NaN NaN NaN
8 9 name_09 coment_09 NaN NaN NaN NaN
9 10 name_10 coment_10 NaN NaN NaN NaN
10 11 name_11 coment_11 NaN NaN NaN NaN
11 12 name_12 coment_12 NaN NaN NaN NaN
12 13 name_13 coment_13 NaN NaN NaN NaN
13 14 name_14 coment_14 NaN NaN NaN NaN
14 15 name_15 coment_15 NaN NaN NaN NaN
15 16 name_16 coment_16 NaN NaN NaN NaN
16 17 name_17 coment_17 NaN NaN NaN NaN
17 18 name_18 coment_18 NaN NaN NaN NaN
18 19 name_19 coment_19 NaN NaN NaN NaN
19 20 name_20 coment_20 NaN NaN NaN NaN
20 21 name_21 coment_21 NaN NaN NaN NaN
查看讀取出來的結果,看的出結果被處理成了pandas的DataFrame格式。
In [6]: type(data)
Out[6]:pandas.core.frame.DataFrame
⑦ Python判斷兩個csv文件指定列是否相同值
tim@crunchbang:~$ cat .py #!/usr/bin/env python# coding: utf-8# import csv collector = {}with open(r"/home/tim/downloads/test.csv") as handle: for data in csv.DictReader(handle): collector.setdefault(data["區域"], []).append(data) for area, datas in collector.items(): print area, len(datas), \ len(filter(lambda x: x["web使用天數"] > '0', datas)), \ len(filter(lambda x: x["client使用天數"] > '0', datas)) tim@crunchbang:~$ python .py雁塔分部 13 9 3蓮湖分部 9 3 2新城分部 10 5 5
⑧ 如何用python把多個csv文件數據處理後匯總到新csv文件
可以用pandas讀取數據,首先把文件方同一個文件價里,然後對當前文件價的所有內容循環讀取,在對讀取到的數據處理一下,判斷大於1000米的個數,大循環外面定義兩廣序列,存放文件名和個數,大循環結束後將兩廣數組組成Dataframe保持到一個新csv里,思路大概是這樣。不明白的可以繼續問。
⑨ 用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)