如何利用python创建、读取和修改CSV数据文件

 更新时间:2022年05月11日 14:30:37   作者:Johnny An  
csv文件与txt文件类似,区别点就是在csv文件中,字段间使用“,”或“|”隔开,达到类似与表格的效果,下面这篇文章主要给大家介绍了关于如何利用python创建、读取和修改CSV数据文件的相关资料,需要的朋友可以参考下

简单展示如何利用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文件的创建、读取、修改等操作总结

总结

到此这篇关于如何利用python创建、读取和修改CSV数据文件的文章就介绍到这了,更多相关python创建读取修改CSV内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python nonlocal关键字 与 global 关键字解析

    Python nonlocal关键字 与 global 关键字解析

    这篇文章主要介绍了Python nonlocal关键字 与 global 关键字解析,nonlocal关键字用来在函数或其他作用域中使用外层变量,global关键字用来在函数或其他局部作用域中使用全局变量,更多香瓜内容需要的小伙伴可以参考一下
    2022-03-03
  • python实现简单名片管理系统

    python实现简单名片管理系统

    这篇文章主要为大家详细介绍了python实现简单名片管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • python中的位置参数和关键字参数详解

    python中的位置参数和关键字参数详解

    位置参数和关键字参数是 Python 中的两种不同类型的函数参数传递方式,位置参数依赖于参数的位置顺序,而关键字参数通过参数名传递,不受位置影响,本文通过代码示例给大家详细介绍了python中的位置参数和关键字参数,需要的朋友可以参考下
    2023-12-12
  • Tensorflow实现卷积神经网络用于人脸关键点识别

    Tensorflow实现卷积神经网络用于人脸关键点识别

    这篇文章主要介绍了Tensorflow实现卷积神经网络用于人脸关键点识别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)

    pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)

    这篇文章主要介绍了pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 解决Python3 抓取微信账单信息问题

    解决Python3 抓取微信账单信息问题

    这篇文章主要介绍了Python3 抓取微信账单信息,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • python的类方法和静态方法

    python的类方法和静态方法

    这篇文章主要介绍了python的类方法和静态方法,以实例形式分析了Python中类方法和静态方法的实现技巧与应用方法,需要的朋友可以参考下
    2014-12-12
  • python scipy卷积运算的实现方法

    python scipy卷积运算的实现方法

    这篇文章主要介绍了python scipy卷积运算的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Python实现批量梯度下降法(BGD)拟合曲线

    Python实现批量梯度下降法(BGD)拟合曲线

    这篇文章主要介绍了Python实现批量梯度下降法(BGD)拟合曲线,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • python 序列去重并保持原始顺序操作

    python 序列去重并保持原始顺序操作

    这篇文章主要介绍了python序列去重并保持原始顺序操作,文章围绕了python 序列去重的相关资料展开详细介绍,需要的小伙伴可以参考一下,希望对你的有所帮助
    2022-03-03

最新评论