2015-11-17 25 views
1

我有我的輸入文件格式爲:寫入到CSV文件中沒有雙引號

K100, radioactive 126, liquid 503, pour 2014, onto 992, sealed 9876, drum 15306 
K200, radioactive 558, liquid 1569, pour 5325, onto 772, sealed 9773, drum 10430 
K300, radioactive 463, liquid 1360, pour 981, onto 825, sealed 5872, drum 11459 

我使用這個代碼:

import csv 
a = open("input.txt") 
data = a.read() 
data1 = data.split(',') 
rf = open("output.csv",'wb') 
wr = csv.writer(rf,dialect='excel') 
wr.writerow(data1) 

我得到這樣一個模式的,當我打開csv文件:

K100  radioactive 126  liquid 503 pour 2014 onto 992 sealed 9876 " drum 15306 
K200" radioactive 558  liquid 1569  pour 5325 onto 772 sealed 9773 " drum 10430 
K300" radioactive 463  liquid 1360  pour 981 onto 825 sealed 5872 " drum 11459 
" 

一切都很好,但我不希望雙引號無處不在。我想刪除它。我無法解決這個問題。請幫忙!

也就是說,

預期輸出:

K100  radioactive 126  liquid 503  pour 2014 onto 992 sealed 9876  drum 15306 
K200  radioactive 558  liquid 1569  pour 5325 onto 772 sealed 9773  drum 10430 
K300  radioactive 463  liquid 1360  pour 981 onto 825 sealed 5872  drum 11459 
+0

這是因爲你需要引號加引號。或者更確切地說,因爲你不會從輸入中刪除空白。你從一個文件中讀取多行文件,然後將它們作爲單行寫出來,那是爲了什麼?如果不是這樣,似乎你可能應該用'csv.reader'和/或正確地分割線條,修整空白等來閱讀。 – ShadowRanger

回答

3

基於你給了,你爲什麼不只是簡單的使用CSV閱讀器,然後寫回到你想要的格式輸入?它看起來已經是逗號分隔了,所以讀者應該可以使用:

import csv 
a = open("d.txt") 
data = csv.reader(a) 

rf = open("output.csv", 'wb') 
wr = csv.writer(rf, dialect='excel') 
for i in data: 
    wr.writerow(i)