① 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)