[問題]CSV讀寫相關問題

看板Python作者 (溫柔殺手)時間6年前 (2019/01/23 13:38), 編輯推噓8(8023)
留言31則, 7人參與, 6年前最新討論串1/1
各位板上的大大日安 我有一個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

01/23 13:42, 6年前 , 1F
就這樣?
01/23 13:42, 1F

01/23 13:43, 6年前 , 2F
用讀一次k=k+1
01/23 13:43, 2F

01/23 13:44, 6年前 , 3F
變成pd.DataFrame試看看
01/23 13:44, 3F

01/23 14:21, 6年前 , 4F
@j大 請問這個方法是不是要import pandas?
01/23 14:21, 4F

01/23 14:30, 6年前 , 5F
其他問題是否有方向可供參考~?
01/23 14:30, 5F

01/23 14:32, 6年前 , 6F
推薦你用pandas
01/23 14:32, 6F

01/23 14:32, 6年前 , 7F
import pandas as pd
01/23 14:32, 7F

01/23 14:32, 6年前 , 8F
df = pd.read_csv('metadata.csv')
01/23 14:32, 8F

01/23 14:32, 6年前 , 9F
df.shape
01/23 14:32, 9F

01/23 14:37, 6年前 , 10F
@l大 感謝指導,請問一下如果import pandas,執行檔包起來
01/23 14:37, 10F

01/23 14:37, 6年前 , 11F
會不會很大?
01/23 14:37, 11F

01/23 14:58, 6年前 , 12F
with open 你用這種方法是應用在這種情況
01/23 14:58, 12F

01/23 15:00, 6年前 , 13F

01/23 15:00, 6年前 , 14F
懂?
01/23 15:00, 14F

01/23 15:02, 6年前 , 15F
再請教一個問題,我用這個方法會找不到metadata.csv這個
01/23 15:02, 15F

01/23 15:03, 6年前 , 16F
檔案,但是如果我用with open的方式,卻可以正確打開。
01/23 15:03, 16F

01/23 15:04, 6年前 , 17F
我查了一下是工作路徑的問題,但是with open為何不會有問
01/23 15:04, 17F

01/23 15:04, 6年前 , 18F
題?我的.py檔案跟.csv都是在同一個資料夾內。
01/23 15:04, 18F

01/23 15:12, 6年前 , 19F
啊,我查到了,是中文路徑的問題。
01/23 15:12, 19F

01/23 15:34, 6年前 , 20F
@j大,明白了,謝謝。再請教一個問題。
01/23 15:34, 20F

01/23 15:35, 6年前 , 21F
我用print(df)印出來的東西卻很奇怪。
01/23 15:35, 21F

01/23 15:35, 6年前 , 22F

01/23 15:35, 6年前 , 23F
我用的IDE是VS2017
01/23 15:35, 23F

01/23 16:53, 6年前 , 24F
with open 好像是模擬你打開檔案 他不是真的把資料
01/23 16:53, 24F

01/23 16:53, 6年前 , 25F
匯入
01/23 16:53, 25F

01/23 18:58, 6年前 , 26F
不用open了 直接用pd.read_csv 開啟檔名
01/23 18:58, 26F

01/23 20:51, 6年前 , 27F
其實列在讀第一行就知道了 行則是要讀完才知道
01/23 20:51, 27F

01/24 00:42, 6年前 , 28F
這需要用到pandas? 包起會很大沒錯
01/24 00:42, 28F

01/24 10:46, 6年前 , 29F
@S大,我後來是用迴圈判斷有多少列,就沒有用Pandas了
01/24 10:46, 29F

01/25 14:15, 6年前 , 30F
01/25 14:15, 30F

01/25 14:15, 6年前 , 31F
如果考量到不想多包其他library的話 可以考慮
01/25 14:15, 31F
文章代碼(AID): #1SH_t3Ht (Python)
文章代碼(AID): #1SH_t3Ht (Python)