Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module ‘csv’ has no attribute ‘reader’ ?

加入好友
加入社群
Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王

path=r”C:\Python\RF Stable\RF min.csv”
import csv
with open(“RF min.csv” ,”r”,newline=”) as f:
raw=csv.reader(f)
for r in raw:
print(r)

Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王

Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王

 

raw = csv.reader(f)
print(“直接print(raw):”,raw)

會出現:

<_csv.reader object at 0x0000019B43174C40>

而非2D list內容

需要多一個

for r in raw的迴圈

才能印出內容

Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王

 

raw = csv.reader(f)
print(“直接print(raw):”,raw)

會出現:

<_csv.reader object at 0x0000019B43174C40>

而非2D list內容

需要多一個

for r in raw的迴圈

L.append(r)

L才是我們想要的2D list

Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王

 

 

用一般的逐列讀取

for line in f: 

    lst = line.strip().split(“,”)

    raw.append(lst)

多一個lenline的list,

收集每一列的長度

會發現資料中有一列長度只有1

需要把那一列長度1的資料remove

才能繼續處理後續

Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王

 

Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王

Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王

Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王

csv檔: 

Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王

Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王

放大程式碼:

Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王

這段程式碼在Spyder可以正常執行

Visual Studio卻會出現錯誤:

Traceback (most recent call last):
  File “c:\Python\RF Stable\csv.py”, line 2, in <module>
    import csv
  File “c:\Python\RF Stable\csv.py”, line 4, in <module>
    raw = csv.reader(f,delimiter=”,”,quotechar=None,quoting=csv.QUOTE_NONE)
AttributeError: partially initialized module ‘csv’ has no attribute ‘reader’ (most likely due to a circular import)
 
原因是我把檔名
命名為csv.py
跟import csv的csv撞名
只要改個名字
就可以正常執行
Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王
 
import csv
with open(“score.csv”, “r”, encoding=”utf-8″) as f:
    score = [k for k in csv.reader(f)]
print(score)

with open(“scoreOut.csv”,”w”,newline=””) as f2:
    csv.writer(f2).writerows(score)
   
Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王
輸出結果:
[[’89’, ’65’, ’31’], [’75’, ’65’, ’55’], [’61’, ’75’, ’79’], [’47’, ’75’, ’80’]]
 
scoreOut.csv: 
Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王
 

加入好友
加入社群
Python 如何讀取csv檔? import csv ; raw=csv.reader(f) ; Visual Studio Code(VScode)為什麼會出現錯誤 module 'csv' has no attribute 'reader' ? - 儲蓄保險王

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡

You may also like...

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *