一般用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...