我想解決這個問題。 我讀從以下幾列CSV fiile數據:從csv文件讀取Python
id, name, price
所以我用下面的代碼讀取CSV:
import sys
import csv as input
def readFile(path):
try:
finput = input.reader(open(path,'rb'),delimiter=',',quotechar='|')
except IOError as (errno,strerror):
print "I/O error({0}): {1}".format(errno,strerror)
except:
print "Unexpected Error: ",sys.exc_info()[0]
raise
# covert format into list
fmod = list(finput)
return fmod
但問題是name字段可以像
名,item_det 現在「」爲我創建一個麻煩.. ,而不是讀的名稱字段作爲一個單一的實體有在描述一個逗號.. 它是分裂特定領域。 我該如何解決這個問題。 感謝
一次讀取一行文件(無分隔符),並查看具有更高級功能的Python正則表達式函數之一,將字符串分割爲字段 –
通常情況下,您的CSV文件會在其中包含引號,這樣一行應該是'| name,item_det |,other_field,another_field'(因爲你設置了'quotechar ='|'')。 CSV模塊可以處理這個問題。如果沒有,您可能會想要像@MartinBeckett所說的那樣手動解析它,或者檢查列表的長度並在必要時手動合併這兩個字段。 – Dougal
你有沒有對csv輸入文件創建的控制,或者你被迫處理破碎的csv文件?通常人們使用'quotechar ='「'' –