0
目前我有一個原始的CSV文件,我想操作。每行的[3]值即行[3]包含一個字符串,其中包含字母「HKD」和一個數字。我試圖創建一個新的CSV文件,刪除字母和空格。出於某種原因,當我這樣做時,最後~60行會被切斷。我試圖打印出所有的行,並且它們在python shell中顯示得很好,但不會打印到我的CSV文件中。我不確定爲什麼。 csv輸出文件在第1931行被截斷,但它並沒有完全切斷它在第一列顯示1931的整個行,而不是其餘的數據。CSV文件行在最後被剪切
打印出圍繞1931年指數:
['1929', '8163 ', 'Merdeka Financial Services Group Ltd.', '154']
['1930', '8179 ', 'Food Idea Holdings Ltd.', '153']
['1931', '8079 ', 'Easy Repay Finance & Investment Ltd.', '150']
['1932', '8106 ', 'Zheda Lande Scitech Ltd. - H Shares', '149']
['1933', '1160 ', 'Grand Investment International Ltd.', '149']
['1934', '8363 ', 'SDM Group Holdings Ltd.', '148']
以下是我的代碼:
import csv
csv_in = open('mcapdata.csv','rb')
writer = csv.writer(open('final-HK-MCap.csv','a'))
for row in csv.reader(csv_in):
row[3] = row[3].replace('HKD ','')
writer.writerow(row)
我不明白爲什麼它會在外殼就好了,但沒有將其輸出到打印我的csv文件。在我的Python代碼中是否存在導致這種情況的不良做法?
我在數據中看不到任何明顯的東西。你最後不要''關閉()'文件。如果單獨打開'final-HK-MCap.csv',是否會改變任何內容,將它傳遞給'csv.writer()',然後在文件末尾執行'.close()'?除了你的問題,你可以看看[這裏](https://jeffknupp.com/blog/2016/03/07/python-with-context-managers/)使用'with'來乾淨地打開和關閉文件。 – roganjosh