看板 Python 關於我們 聯絡資訊
各位板上的大大日安 我有一個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://www.ptt.cc/bbs/Python/M.1548221891.A.477.html
jasonfghx: 就這樣? 01/23 13:42
jasonfghx: 用讀一次k=k+1 01/23 13:43
jasonfghx: 變成pd.DataFrame試看看 01/23 13:44
yimean: @j大 請問這個方法是不是要import pandas? 01/23 14:21
yimean: 其他問題是否有方向可供參考~? 01/23 14:30
lajji: 推薦你用pandas 01/23 14:32
lajji: import pandas as pd 01/23 14:32
lajji: df = pd.read_csv('metadata.csv') 01/23 14:32
lajji: df.shape 01/23 14:32
yimean: @l大 感謝指導,請問一下如果import pandas,執行檔包起來 01/23 14:37
yimean: 會不會很大? 01/23 14:37
jasonfghx: with open 你用這種方法是應用在這種情況 01/23 14:58
jasonfghx: https://imgur.com/uWpDMrK 01/23 15:00
jasonfghx: 懂? 01/23 15:00
yimean: 再請教一個問題,我用這個方法會找不到metadata.csv這個 01/23 15:02
yimean: 檔案,但是如果我用with open的方式,卻可以正確打開。 01/23 15:03
yimean: 我查了一下是工作路徑的問題,但是with open為何不會有問 01/23 15:04
yimean: 題?我的.py檔案跟.csv都是在同一個資料夾內。 01/23 15:04
yimean: 啊,我查到了,是中文路徑的問題。 01/23 15:12
yimean: @j大,明白了,謝謝。再請教一個問題。 01/23 15:34
yimean: 我用print(df)印出來的東西卻很奇怪。 01/23 15:35
yimean: https://imgur.com/swPRXo0 01/23 15:35
yimean: 我用的IDE是VS2017 01/23 15:35
jasonfghx: with open 好像是模擬你打開檔案 他不是真的把資料 01/23 16:53
jasonfghx: 匯入 01/23 16:53
asd2213857: 不用open了 直接用pd.read_csv 開啟檔名 01/23 18:58
s860134: 其實列在讀第一行就知道了 行則是要讀完才知道 01/23 20:51
Sunal: 這需要用到pandas? 包起會很大沒錯 01/24 00:42
yimean: @S大,我後來是用迴圈判斷有多少列,就沒有用Pandas了 01/24 10:46
Yshuan: https://docs.python.org/2/library/csv.html 有內建的 01/25 14:15
Yshuan: 如果考量到不想多包其他library的話 可以考慮 01/25 14:15