作者yimean (溫柔殺手)
看板Python
標題[問題]CSV讀寫相關問題
時間Wed Jan 23 13:38:09 2019
各位板上的大大日安
我有一個CSV檔資料長的如下樣貌
A,B,C,D
E,H,,
F,I,J,K
G,,L,M
我用很基本的方法讀入,可以正確列印出來。
with open('metadata.csv') as csvFile:
csvReader=csv.reader(csvFile)
listReport=list(csvReader)
for row in listReport:
print(row)
1.請問我要怎麼知道這是幾乘幾的資料矩陣?
2.如果我要填入listReport[1][2]一個字串,我可以先將值用變數的方法給定
後write進去嗎?
像是這樣listReport[1][2] = O
3.寫入CSV檔只能全部複寫嗎?能不能像Excel一樣從某一列開始寫就好?
以上,煩請撥冗解惑,感謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.116.8
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1548221891.A.477.html
1F:推 jasonfghx: 就這樣? 01/23 13:42
2F:→ jasonfghx: 用讀一次k=k+1 01/23 13:43
3F:→ jasonfghx: 變成pd.DataFrame試看看 01/23 13:44
4F:→ yimean: @j大 請問這個方法是不是要import pandas? 01/23 14:21
5F:→ yimean: 其他問題是否有方向可供參考~? 01/23 14:30
6F:推 lajji: 推薦你用pandas 01/23 14:32
7F:→ lajji: import pandas as pd 01/23 14:32
8F:→ lajji: df = pd.read_csv('metadata.csv') 01/23 14:32
9F:→ lajji: df.shape 01/23 14:32
10F:→ yimean: @l大 感謝指導,請問一下如果import pandas,執行檔包起來 01/23 14:37
11F:→ yimean: 會不會很大? 01/23 14:37
12F:推 jasonfghx: with open 你用這種方法是應用在這種情況 01/23 14:58
14F:→ jasonfghx: 懂? 01/23 15:00
15F:→ yimean: 再請教一個問題,我用這個方法會找不到metadata.csv這個 01/23 15:02
16F:→ yimean: 檔案,但是如果我用with open的方式,卻可以正確打開。 01/23 15:03
17F:→ yimean: 我查了一下是工作路徑的問題,但是with open為何不會有問 01/23 15:04
18F:→ yimean: 題?我的.py檔案跟.csv都是在同一個資料夾內。 01/23 15:04
19F:→ yimean: 啊,我查到了,是中文路徑的問題。 01/23 15:12
20F:→ yimean: @j大,明白了,謝謝。再請教一個問題。 01/23 15:34
21F:→ yimean: 我用print(df)印出來的東西卻很奇怪。 01/23 15:35
23F:→ yimean: 我用的IDE是VS2017 01/23 15:35
24F:推 jasonfghx: with open 好像是模擬你打開檔案 他不是真的把資料 01/23 16:53
25F:→ jasonfghx: 匯入 01/23 16:53
26F:推 asd2213857: 不用open了 直接用pd.read_csv 開啟檔名 01/23 18:58
27F:→ s860134: 其實列在讀第一行就知道了 行則是要讀完才知道 01/23 20:51
28F:推 Sunal: 這需要用到pandas? 包起會很大沒錯 01/24 00:42
29F:→ yimean: @S大,我後來是用迴圈判斷有多少列,就沒有用Pandas了 01/24 10:46
31F:→ Yshuan: 如果考量到不想多包其他library的話 可以考慮 01/25 14:15