python讀寫csv檔案

2021-09-23 15:31:38 字數 2317 閱讀 1908

一般用pandas庫讀取csv比較方便,比如原始的csv長這樣,第一行的id,truelabels和prelabels是列名。

**為:

import pandas as pd

file

= pd.read_csv(filename)

print

(file

['id'])

# 輸出所有id資訊(第一列全部輸出)

# 遍歷第一列:

for i in

range

(len

(file

['id'])

):print

(file

['id'

][i]

)

shape =

for i in

range

(len

(file

['id'])

):file_name =

file

['id'

][i]

#獲取第一列 id名

))# 寬和高

result_df = pd.dataframe(

)result_df.to_csv(

'output.csv'

, index=

false

)# index=false的意思是說,以自定義的id作為索引,而不是0,1,2這樣的自然數做索引。

有兩種方法,上面的to_csv函式就可以:

import pandas as pd

d =#隨便拿個字典的例子

df = pd.dataframe(

)df.to_csv(

'output.csv'

, index=

false

)

也可以用寫入檔案的方式:

with

open

('output.csv'

,'w'

)as f:

[f.write(

',\n'

.format

(key, value)

)for key, value in d.items(

)]

2019.6.23更新:

def

writ_in_csv()

:global lats

global lons

global soil_m#三個全域性變數用於存放經緯度,土壤數值

count =

0with

open

(r"hecdata_pm.csv"

,'a'

,newline='')

as f:

#a表示在文末追加,newline用於去除間隔的空行

writer = csv.writer(f)

writer.writerow(

["經度e"

,"緯度n"

,"土壤"])

# 先寫入列名

for ilon in lons:

#取出每乙個經度值

for i in

range

(406):

#寫入每乙個經度值對應的緯度、土壤

if(ilon==

-9999.0)or

(lats[i]==-

9999.0)or

(soil_m[count]

[i]==

-9999.0):

#去除無用值,如果經緯度、土壤有乙個是空(-9999.0),則摒棄該值

continue

else

: writer.writerows(

[[ilon, lats[i]

, soil_m[count]

[i]]])

# 寫入多行用writerows,一次在一行寫入三個數值

count +=

1

Python讀寫csv檔案

1.寫入並生成csv檔案 coding utf 8 import csv csvfile file csv test.csv wb writer csv.writer csvfile writer.writerow 姓名 年齡 data 小河 25 1234567 小芳 18 789456 writ...

python 讀寫csv檔案

1.忽略第一行標題的基礎上 python2.7 coding utf 8 import csv csv reader csv.reader open r c users thinkpad desktop tweets.csv for row in csv reader 條件語句忽略第一行檔案資料 i...

python 讀寫csv檔案

1.將dataframe資料寫入csv 1 用 csv包一行一行的寫入 import csv python2可以用file替代open with open test.csv w as csvfile writer csv.writer csvfile 先寫入columns name writer.w...