日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

如何利用python創(chuàng)建、讀取和修改CSV數(shù)據(jù)文件_python

作者:Johnny?An ? 更新時間: 2022-07-06 編程語言

簡單展示如何利用python中的pandas庫創(chuàng)建、讀取、修改CSV數(shù)據(jù)文件

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庫來實現(xiàn)

python中csv文件的創(chuàng)建、讀取、修改等操作總結(jié)

總結(jié)

原文鏈接:https://blog.csdn.net/qq_41866202/article/details/121535663

欄目分類
最近更新