如何利用python创建、读取和修改CSV数据文件
作者:Johnny?An 发布时间:2021-12-15 21:18:41
简单展示如何利用python中的pandas库创建、读取、修改CSV数据文件
1 写入CSV文件
import numpy as np
import pandas as pd
# -----create an initial numpy array----- #
data = np.zeros((8,4))
# print(data.dtype)
# print(type(data))
# print(data.shape)
# -----from array to dataframe----- #
df = pd.DataFrame(data)
# print(type(df))
# print(df.shape)
# print(df)
# -----edit columns and index----- #
df.columns = ['A', 'B', 'C', 'D']
df.index = range(data.shape[0])
df.info()
# -----save dataframe as csv----- #
csv_save_path='./data_.csv'
df.to_csv(csv_save_path, sep=',', index=False, header=True)
# -----check----- #
df = pd.read_csv(csv_save_path)
print('-' * 25)
print(df)
输出如下:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8 entries, 0 to 7
Data columns (total 4 columns):
A 8 non-null float64
B 8 non-null float64
C 8 non-null float64
D 8 non-null float64
dtypes: float64(4)
memory usage: 336.0 bytes
-------------------------
A B C D
0 0.0 0.0 0.0 0.0
1 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0
3 0.0 0.0 0.0 0.0
4 0.0 0.0 0.0 0.0
5 0.0 0.0 0.0 0.0
6 0.0 0.0 0.0 0.0
7 0.0 0.0 0.0 0.0
2 读取CSV文件
import pandas as pd
import numpy as np
csv_path = './data_.csv'
# -----saved as dataframe----- #
data = pd.read_csv(csv_path)
# ---if index is given in csv file, you can use next line of code to replace the previous one---
# data = pd.read_csv(csv_path, index_col=0)
print(type(data))
print(data)
print(data.shape)
# -----saved as array----- #
data_ = np.array(data)
# data_ = data.values
print(type(data_))
print(data_)
print(data_.shape)
输出如下:
<class 'pandas.core.frame.DataFrame'>
A B C D
0 0.0 0.0 0.0 0.0
1 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0
3 0.0 0.0 0.0 0.0
4 0.0 0.0 0.0 0.0
5 0.0 0.0 0.0 0.0
6 0.0 0.0 0.0 0.0
7 0.0 0.0 0.0 0.0
(8, 4)
<class 'numpy.ndarray'>
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
(8, 4)
3 修改CSV文件
import pandas as pd
import numpy as np
csv_path = './data_.csv'
df = pd.read_csv(csv_path)
# -----edit columns and index----- #
df.columns = ['X1', 'X2', 'X3', 'Y']
df.index = range(df.shape[0])
# df.index = [i+1 for i in range(df.shape[0])]
# -----columns operations----- #
Y = df['Y']
df['X4'] = [4 for i in range(df.shape[0])] # add
df['X5'] = [5 for i in range(df.shape[0])]
# print(df)
df.drop(columns='Y', inplace=True) # delete
# print(df)
df['X1'] = [i+1 for i in range(df.shape[0])] # correct --(1)
# df.iloc[:df.shape[0], 0] = [i+1 for i in range(df.shape[0])]
# correct --(2)
# print(df)
df['Y'] = Y_temp
# print(df)
# -----rows operations----- #
df.loc[df.shape[0]] = [i+2 for i in range(6)] # add
# print(df)
df.drop(index=4, inplace=True) # delete
# print(df)
df.loc[0] = [i+1 for i in range(df.shape[1])] # correct
# print(df)
# -----edit index again after rows operations!!!----- #
df.index = range(df.shape[0])
# -----save dataframe as csv----- #
csv_save_path='./data_copy.csv'
df.to_csv(csv_save_path, sep=',', index=False, header=True)
print(df)
输出如下:
X1 X2 X3 X4 X5 Y
0 1.0 2.0 3.0 4 5 6.0
1 2.0 0.0 0.0 4 5 0.0
2 3.0 0.0 0.0 4 5 0.0
3 4.0 0.0 0.0 4 5 0.0
4 6.0 0.0 0.0 4 5 0.0
5 7.0 0.0 0.0 4 5 0.0
6 8.0 0.0 0.0 4 5 0.0
7 2.0 3.0 4.0 5 6 7.0
参考资料
csv文件的读写与修改还可以通过python的csv库来实现
python中csv文件的创建、读取、修改等操作总结
来源:https://blog.csdn.net/qq_41866202/article/details/121535663
猜你喜欢
- 1. vscode相关配置w3c school 手册: https://www.w3school.com.cn/html/inde
- 关于如何区分艺术和设计的话题总是玄之又玄,并因此引发的争论也有很长一段时间。艺术家和设计师都基于相同的知识基础来创作视觉作品,但他们创作的理
- 前言python是一门优秀的编程语言,而是python成为数据分析软件的是因为python强大的扩展模块。也就是这些python的扩展包让p
- 本文实例讲述了Python subprocess模块功能与常见用法。分享给大家供大家参考,具体如下:一、简介subprocess最早在2.4
- 本文实例讲述了Python堆排序原理与实现方法。分享给大家供大家参考,具体如下:在这里要事先说明一下我也是新手,很多东西我了解不是很深入,写
- 1. EXISTS的执行流程 select * from t1 where exists ( select null from t2 whe
- truncate table 表名 ( 数据不可恢复性的删除 truncate 标识列会重排 ) LinqUtil.Db.ExecuteCo
- a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb
- JS 控制文本框只能输入数字<input onkeyup="value=value.replace(/[^0-9]/g,
- XML被设计用来描述数据,其焦点是数据的内容。HTML被设计用来显示数据,其焦点是数据的外观。  
- 最近写了一个网络验证登录的爬虫,需要发布为Rest服务,然后发现Flask是一个很好的Web框架,使用Python语言实现。1. 安装fla
- 一、多行函数又称组合函数(Group Functions)、聚合函数 1、 Types of Group Functions avg、cou
- 前言:处理字符串时经常要定制化去掉无用的空格,python 中要么用存在的常规方法,或者用正则处理1.去掉左边空格string = &quo
- 其实网上已经有许多python语言书写的串口,但大部分都是python2写的,没有找到一个合适的python编写的串口助手,只能自己来写一个
- 在写登录功能的时候看着网上的视频学着做,然后看了源码的时候发现了一些有意思的功能,因此写这一篇笔记分享给大家.1.阅读Django自带用户系
- 数据动画可视化制作在日常工作中是非常实用的一项技能。目前支持动画可视化的库主要以Matplotlib-Animation为主,其特点为:配置
- 301跳转通常用在网站换域名和为了保持链接统一性所用的。比如你原来的域名www.a.com现在换成www.b.com,用了301跳转后,访问
- 本文实例为大家分享了Pyqt实现无边框窗口拖动及大小改变的具体代码,供大家参考,具体内容如下做个记录,绘制边框阴影可以忽略这里不是主要根据网
- 代码如下:create table T_NEWS ( ID NUMBER, N_TYPE VARCHAR2(20), N_TIT
- JavaScript(JS)网页–动态生成表格,供大家参考,具体内容如下在网页中,动态生成列表的内容,将数组中的object加入到列表中(没