日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中csv文件的创建、读取、修改等操作总结

發布時間:2023/12/29 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中csv文件的创建、读取、修改等操作总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. python中創建新的csv文件

(1). 使用csv.writer()創建:

代碼如下:

import csvheaders = ['學號','姓名','分數'] rows = [('202001','張三','98'),('202002','李四','95'),('202003','王五','92')] with open('score.csv','w',encoding='utf8',newline='') as f :writer = csv.writer(f)writer.writerow(headers)writer.writerows(rows)

會在相同路徑下生成一個score.csv文件?

?VScode中打開如下:

?用excel打開如下:

可以發現,逗號','在csv文件中代表換格。除此以外,還有'\n'在csv文件中代表換行。?

(2). 使用csv.Dictwriter()創建:

代碼如下:

import csvheaders = ['學號','姓名','分數'] rows = [{'學號':'202001','姓名':'張三','分數':'98'},{'學號':'202002','姓名':'李四','分數':'95'},{'學號':'202003','姓名':'王五','分數':'92'}] with open('score.csv','w',encoding='utf8',newline='') as f :writer = csv.DictWriter(f,headers)writer.writeheader()writer.writerows(rows)

會發現結果和方式1相同。

(3). 使用writelines()創建:

import csvheaders = ['學號,姓名,分數','\n'] csv = ['202001,張三,98','\n','202002,李四,95','\n','202003,王五,92'] with open('score.csv', 'w',encoding='utf8',newline='') as f:f.writelines(headers) # write() argument must be str, not tuplef.writelines(csv)

會發現結果和方式1、方式2相同。?

?綜合上述三種方式,csv文件的創建靈活多樣,主要依賴于自己創建的原來數據的存放形式,比如方式1、2中的rows和方式3中的csv,以此選擇適合的創建csv文件的函數和方式。

  • 實際示例(要靈活使用','、'\n'、append()等):

csv = [] for line in lines:scores = result[line[0]]for wav, scores in scores.items():# csv.append(line[0])# csv.append(wav)# csv.append(str(i) for i in scores)# csv.append('\n')#csv.append(','.join([wav] + [str(i) for i in scores] + '\n'))csv.append(line[0] +','+ wav )for i in scores:csv.append(','+ str(i))csv.append('\n') with open('task3-result.csv', 'w') as f:f.writelines(csv)

2. python中讀取csv文件

原score.csv文件在excel中打開如下:

(1). 使用pandas.read_csv()讀取

代碼如下:?

import pandas as pd my_matrix = pd.read_csv('score.csv')#,header=None,index_col=None) ''' header : int or list of ints, default ‘infer’,指定行數用來作為列名,數據開始行數。如果文件中沒有列名,則默認為0, index_col : int or sequence or False, default None,用作行索引的列編號或者列名 ''' print(my_matrix) print(my_matrix.shape)

此時的輸出結果為:

?

若代碼參數改為:

my_matrix = pd.read_csv('score.csv',header=None,index_col=None)

結果如下:

?

若代碼參數改為:

my_matrix = pd.read_csv('score.csv',header=0,index_col=0)

結果如下:

?

為了方便后續分析,可以將數據類型改為np.array型,代碼如下:

import pandas as pd import numpy as npmy_matrix = pd.read_csv('score.csv')#,header=0,index_col=0) my_matrix = np.array(my_matrix) print(my_matrix) print(my_matrix.shape) print(my_matrix[0][0])

結果如下:

?

?(2). 使用csv.reader()進行讀取

代碼如下:

import csv #讀取csv文件 with open('score.csv', "r",encoding='utf8',newline='') as f:reader = csv.reader(f)for row in reader:print(row)

結果如下:

?

如果想獲取某一列,可以通過指定的列標號來查詢,代碼如下:

for row in reader:print(row[0])

可以輸出某一指定的列 ,結果如下:

?(3). 使用csv.DictReader()進行讀取

代碼如下:

import csv #讀取csv文件 with open('score.csv', "r",encoding='utf8',newline='') as f:reader = csv.DictReader(f)for row in reader:print(row)

結果如下:

?

如果想獲取某一列,可以通過指定的標題來查詢,代碼如下:

for row in reader:print(row['學號'])

可以輸出指定的某一列,結果如下:

?

?

?

?

總結

以上是生活随笔為你收集整理的python中csv文件的创建、读取、修改等操作总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。