python修改csv列名(python修改csv的列名并保存)

2023年5月5日03:07:24 发表评论 1

python怎么同时定义csv的行列

Python对csv文件进行行列的增加操作方法,这里通过实例向大家讲解,代码如下:

方法一:

import csv

d = list(range(38685))

with open(\'./hh.csv\') as f1:

f_csv = csv.DictReader(f1)

for i, row in enumerate(f_csv):

#print(row)

key1 = hello\'

value1 = \'test\'

row[key1] = value1

key2 = \'hahaha\'

value2 = \'0\'

row[key2] = value2

d[i] = row

f1.close()

方法二:

headers = [\'hello\', \'youtube_id\', \'time_start\', \'time_end\', \'split\', \'hahaha\']

with open(\'./hh.csv\', \'w\') as f:

f_csv = csv.DictWriter(f, headers)

f_csv.writeheader()

f_csv.writerows(d)

f.close()

with open(\'./hh.csv\',\'rt\') as fin:

lines=\'\'

for line in fin:

if line!=\'\\n\':

lines+=line

with open(\'./hh.csv\',\'wt\')as fout:

fout.write(lines)

在上面的所有中,我们分别使用了两种不同的方式来对csv文件进行行列的增加,第一种方法,首先先用一个excel表打开一个csv文件,对它进行手动添加了hello和hahaha。第二种方法,是直接利用python里面的csv模块进行改写操作,在对csv文件进行操作的时候,会增添许多的空行,在倒数第7行的代码开始,就是对csv文件中多出来的空格进行处理。

python对csv年龄一列划分范围改

python对csv年龄一列划分范围改

(1)单条件筛选

df[df[‘a’]30]

如果想筛选 a 列的取值大于 30 的记录, 但是之显示满足条件的 b,c 列的值可以这么写

df’b’,’c’[df[‘a’]30]

使用 isin 函数根据特定值筛选记录。筛选 a 值等于 30 或者 54 的记录

df[df.a.isin([30, 54])]

(2)多条件筛选

可以使用 (并)与 | (或)操作符或者特定的函数实现多条件筛选

使用 筛选 a 列的取值大于 30,b 列的取值大于 40 的记录

df[(df[‘a’] 30) (df[‘b’] 40)]

(3)索引筛选

a. 切片操作

df[行索引,列索引] 或 df列名 1,列名 2

#使用切片操作选择特定的行

df[1:4]

#传入列名选择特定的列

df’a’,’c’

b. loc 函数

当每列已有 column name 时,用 df [‘a’] 就能选取出一整列数据。如果你知道 column names 和 index,且两者都很好输入,可以选择 .loc 同时进行行列选择。

In [28]: df.loc[0,‘c’]

Out[28]: 4

In [29]: df.loc[1:4,[‘a’,‘c’]]

Out[29]:

a c

1 6 10

2 12 16

3 18 22

4 24 28

In [30]: df.loc[[1,3,5],[‘a’,‘c’]]

Out[30]:

a c

1 6 10

3 18 22

5 30 34

c. iloc 函数

如果 column name 太长,输入不方便,或者 index 是一列时间序列,更不好输入,那就可以选择 .iloc 了,该方法接受列名的 index,iloc 使得我们可以对 column 使用 slice(切片)的方法对数据进行选取。这边的 i 我觉得代表 index,比较好记点。

In [35]: df.iloc[0,2]

Out[35]: 4

In [34]: df.iloc[1:4,[0,2]]

Out[34]:

a c

1 6 10

2 12 16

3 18 22

In [36]: df.iloc[[1,3,5],[0,2]]

Out[36]:

a c

1 6 10

3 18 22

5 30 34

In [38]: df.iloc[[1,3,5],0:2]

Out[38]:

a b

1 6 8

3 18 20

5 30 32

d. ix 函数

ix 的功能更加强大,参数既可以是索引,也可以是名称,相当于,loc 和 iloc 的合体。需要注意的是在使用的时候需要统一,在行选择时同时出现索引和名称, 同样在同行选择时同时出现索引和名称。

df.ix[1:3,[‘a’,‘b’]]

Out[41]:

a b

1 6 8

2 12 14

3 18 20

In [42]: df.ix[[1,3,5],[‘a’,‘b’]]

Out[42]:

a b

1 6 8

3 18 20

5 30 32

In [45]: df.ix[[1,3,5],[0,2]]

Out[45]:

a c

1 6 10

3 18 22

5 30 34

e. at 函数

根据指定行 index 及列 label,快速定位 DataFrame 的元素,选择列时仅支持列名。

In [46]: df.at[3,‘a’]

Out[46]: 18

f. iat 函数

与 at 的功能相同,只使用索引参数

In [49]: df.iat[3,0]

Out[49]: 18

python筛选csv数据年龄在1-100的范围内

点赞文章给优秀博主打call~

便携平板价格

精选推荐

广告

python对dataframe列里的元素进行修改?

直接在参数一栏设置一下即可:

df=pd.read_csv(\'text.csv\', dtype={\'编号\':str}

 

这样,把你要转换的列的名字设定好, “编号”列中的数据读取为str

 

这样,读取到的数据就是按照我们的要求的了。

python中怎么处理csv文件

什么是CSV

就是内容用逗号隔开,后缀是‘.csv’的文件。它可以被任何一个文本编辑器打开。如果用excel打开,它又可以是这样的:

END

读CSV

典型的可处理的csv文件,通常含有表头,也就是每列的列名。这样一来,每一行的内容就可以被当作是以表头为key的字典。于是可以使用csv定义的类:

class csv.DictReader(csvfile, fieldnames=None, restkey=None, restval=None, dialect=\'excel\', *args, **kwds)

下面是官方的例子(Python 3)。我们看到,对于csv文件的内容,我们可以通过相应的tag,也就是字典的key来读取。

在实际使用过程中,为了分离代码和方便阅读,可以先把读取的内容转存到列表,随后再根据各个key进行分开处理(针对多列的情况)。

END

写CSV

同样的,写入的也是列表。使用的类:

class csv.DictWriter(csvfile, fieldnames, restval=\'\', extrasaction=\'raise\', dialect=\'excel\', *args, **kwds)

官方例子:我们看到,有专门的函数来写入表头,没有表头数据是无法对应的。需要注意的是,对于下列语句,‘w’需要修改为‘wb’,否则每次写入会有多余空行

with open(\'names.csv\', \'wb\') as csvfile

python修改csv列名(python修改csv的列名并保存)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: