我對Python很陌生,把一個腳本放在一起來解析一個csv並最終將其數據輸出到一個重複的html表中。Python--讀取一個CSV文件,不會打印最後一列的內容
我得到了大部分工作,但有一個奇怪的問題,我一直無法修復。我的腳本將查找最後一列的索引,但不會打印出該列中的數據。如果我添加另一列到最後一列,即使是空列,它也會打印出前一列的數據 - 所以這不是該列內容的問題。
摘編(但仍脾氣暴躁)的代碼版本:
import os
os.chdir('C:\\Python34\\andrea')
import csv
csvOpen = open('my.csv')
exampleReader = csv.reader(csvOpen)
tableHeader = next(exampleReader)
if 'phone' in tableHeader:
phoneIndex = tableHeader.index('phone')
else:
phoneIndex = -1
for row in exampleReader:
row[-1] =''
print(phoneIndex)
print(row[phoneIndex])
csvOpen.close()
my.csv
stuff,phone
1,3235556177
1,3235556170
輸出
1
1
相同的腳本,小的變化CSV文件:
我的。以csv
stuff,phone,more
1,3235556177,
1,3235556170,
輸出
1
3235556177
1
3235556170
我通過空閒3.4.3
使用Python 3.4.3我已經被MySQL直接生成CSV中有同樣的問題,那些我已經在Excel中打開,然後重新保存爲CSV,以及我在Notepad ++中編輯過的並重新保存爲CSV。
我試着向開放函數(r,rU,b等)添加幾種不同的模式,並且它沒有任何區別或給我一個錯誤(例如,它不喜歡'b')。
我的解決方法是隻添加一個額外的列到最後,但由於這是一個經常使用的腳本,它會好得多,如果它正常工作。
非常感謝您的幫助。
所以你的問題是,一個空的列沒有被檢測到,並被忽略? – albert
您正在設置'row [-1] ='''。您正在刪除最後一列中的值。停止這樣做,你的代碼應該正常工作。 – larsks