如何利用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

标签:python,创建,csv文件
0
投稿

猜你喜欢

  • python实现的简单窗口倒计时界面实例

    2023-06-18 23:02:55
  • Python中使用中文的方法

    2021-09-26 05:46:39
  • pytorch DistributedDataParallel 多卡训练结果变差的解决方案

    2021-09-24 14:31:43
  • 详解Python编程中基本的数学计算使用

    2022-12-12 13:52:04
  • python文件拆分与重组实例

    2021-10-10 18:10:25
  • asp利用aspjpeg给图片生成PNG透明水印

    2009-03-20 14:01:00
  • python跳过第一行快速读取文件内容的实例

    2022-05-12 12:58:56
  • python实现文件批量重命名

    2022-06-28 15:29:28
  • win10+anaconda安装yolov5的方法及问题解决方案

    2022-02-03 10:31:58
  • 最新屏蔽百度快照的方法

    2009-07-06 14:37:00
  • 纯python进行矩阵的相乘运算的方法示例

    2021-04-28 11:34:06
  • SQL Server 2000里的数据类型

    2011-06-11 14:07:00
  • Python实现求解最大公约数的五种方法总结

    2023-07-02 20:34:46
  • python定时执行指定函数的方法

    2021-04-09 03:20:14
  • MATLAB数学建模之画图汇总

    2023-06-14 06:49:50
  • np.hstack()和np.dstack()的使用

    2021-02-03 12:52:15
  • 安装2019Pycharm最新版本的教程详解

    2023-06-25 23:27:54
  • php多进程中的阻塞与非阻塞操作实例分析

    2023-11-14 23:43:44
  • SQL Server 2008中有关XML的新功能

    2008-06-04 12:57:00
  • openstack中的rpc远程调用的方法

    2022-09-23 03:45:17
  • asp之家 网络编程 m.aspxhome.com