python 學習筆記(三) 讀寫csv檔案

2021-10-04 04:32:59 字數 2614 閱讀 1556

幾天沒寫了,但是還是在不斷的學習。今天又是周五了,來記錄一波。今天的內容主要是python對csv檔案進行讀寫。

import csv
初始

**名稱

最新價漲幅%

總手金額

換手%市盈率

市淨率1

000063

中興通訊

50.79

-1.23

130萬

65.3億

3.73

42.56

5.97

5002475

立訊精密

42.96

-0.62

84.7萬

35.9億

1.59

59.69

11.21

6002714

牧原股份

122.6

0.66

23.8萬

28.7億

2.04

44.2

11.91

7600570

恆生電子

91.78

0.67

23.5萬

21.0億

2.92

68.79

19.35

8002194

武漢凡谷

29.38

-3.99

45.8萬

13.7億

12.32

105.75

8.83

9002100

天康生物

11.97

-2.13

46.3萬

5.45億

4.35

31.71

2.79

10603719

良品鋪子

65.09

10.01

18.9萬

12.1億

46.18

62.26

14.42

11600703

三安光電

24.29

4.11

176萬

41.6億

4.31

64.47

4.59

12000002

萬  科a

29.45

-1.67

73.3萬

21.2億

0.75

13.69

1.99

以讀的方式開啟檔案,這裡注意最好後面加上編碼方式,encoding = 'utf-8',否則如果檔案**現中文字元,讀取時會報錯或者出現亂碼。

with open('stock.csv', 'r', encoding='utf-8') as fp:

stocks = csv.reader(fp)

然後利用for迴圈對所有資料進行提取,這裡只提取前面第2列和第三列的資料,即名稱和最新價,以字典格式輸出。

for stock in stocks:

# print(stock)

name = stock[2]

price = stock[3]

print()

輸出結果:

在輸出結果中可以看到,結果包含了檔案的首行,但是在使用資料的過程中往往不需要用到首行資料,我們需要將首行資料去掉。可在進行迴圈前執行 next(stocks) **,達到去掉首行的效果,即

with open('stock.csv', 'r', encoding='utf-8') as fp:

stocks = csv.reader(fp)

next(stocks) # 從下一行開始獲取,這行可以去掉標題行

for stock in stocks:

# print(stock)

name = stock[2]

price = stock[3]

print()

**的意思就是從下一行開始獲取,可以略過標題行。

以寫的方式建立並開啟 csv 檔案,

with open('person.csv', 'w', encoding='utf-8', newline='') as fp:

writer = csv.writer(fp)

再分別寫入標題行,和資料。其中 writerrow 每次寫入一行資料;writerrows 可寫入多行資料

headers = ['name', 'age', 'height']

values =

with open('person.csv', 'w', encoding='utf-8',newline='') as fp: # newline預設為"\n",即換行符

writer = csv.writer(fp)

writer.writerow(headers)

writer.writerows(values) # 一次性寫入多行

推薦閱讀:

python 學習筆記(一)——requests 庫,網路爬蟲

python 學習筆記(二)——beautifulsoup 庫,網路爬蟲

MyBatis三(讀寫操作)

在mybatis中編寫insert語句時使用 insert 如下 select last insert id as id 這裡,parametetype可以根據需要將值作為string,int,float,double等任何類物件。如果資料庫表使用identity,auto increment或se...

mysql讀寫分離(三) 讀寫分離實現

現在的mysql讀寫分離方案有很多,在這裡筆者列舉出幾種自己使用過的方案 1.spring實現route不同的資料來源,來達到讀寫分離的目的。主要原理是根據service或者dao方法做切面,然後根據規範方法名字首來切換不同的資料來源,實現讀寫分離,好處,速度快,支援事務,但是缺點,是不好管理 2....

python讀csv python讀寫csv檔案

1匯入相關包 importosimportreimportcsv 1讀取csv檔案 def read csv filename,header false res with open filename as f f csv csv.reader f if header 預設讀取頭部檔案 headers...