簡體   English   中英

readlines() 在用於 CSV 文件時不起作用

[英]readlines() not working when used on a CSV file

所以有一個“file.csv”,我想使用 Python 從中提取一些數據。
我的問題是這些行的格式不是標准的 csv 格式,而是一行看起來像這樣:

;a_value=value;b_value=value;

所以我的想法是使用.replace()來編輯一行中的所有內容,以便最終看起來如願:

'a_value':'value', 'b_value':'value'  

為了迭代和修改每一行,我遵循了來自Modify csv files? 的這個問題的想法

但我得到:

AttributeError: 'str' object has no attribute 'readline'

我的代碼:

with open(name_file, "r") as csv_file:
   data=name_file.readlines()
csv_file=close()

csv_file=open(name_file, "w")
for row in csv_file:
    #Replace commands
f.close()

在這種情況下,這很簡單; 當您使用with open打開文件with open ,您需要對您定義的文件類型變量進行操作,而不是使用文件的路徑。

在這種情況下,您打開文件,然后嘗試讀取基於字符串的文件路徑,而不是file類型。

所以你需要重寫你的代碼:

with open(name_file, "r") as csv_file:
   data=csv_file.readlines()

希望這有幫助!

PS,close方法只有在不使用with關鍵字時才需要,當退出縮進塊時,文件被關閉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM