Как использовать разделитель для csv в python
у меня возникли проблемы с выяснением, как использовать разделитель для csv.писатель в Python. У меня есть csv-файл, в котором строки, разделенные запятыми, находятся в одной ячейке, и мне нужно иметь каждое слово в каждой отдельной ячейке. Например:
100 , 2559 ,,Main, St,LEOMA,LEOMA,498,498, AK,AK
140 , 425 ,,Main, St,LEOMA,LEOMA,498,498, AK,AK
100 , 599 ,,Main, St,LEOMA,LEOMA,498,498, AK,AK
должно быть
100 2559 Main St LEOMA LEOMA 498 498 AK AK
140 425 Main St LEOMA LEOMA 498 498 AK AK
100 599 Main St LEOMA LEOMA 498 498 AK AK
(каждое слово в отдельной ячейке).
пробовал:
import csv
workingdir = "C:MerVensample"
csvfile = workingdir+"test3.csv"
f=open(csvfile,'wb')
csv.writer(f, delimiter =' ',quotechar =',',quoting=csv.QUOTE_MINIMAL)
2 ответов
ваш код закрывает ваш файл:
import csv
workingdir = "C:\Mer\Ven\sample"
csvfile = workingdir+"\test3.csv"
f=open(csvfile,'wb') # opens file for writing (erases contents)
csv.writer(f, delimiter =' ',quotechar =',',quoting=csv.QUOTE_MINIMAL)
Если вы хотите прочитать файл, вам нужно будет использовать csv.чтения и открытия файла для чтения.
import csv
workingdir = "C:\Mer\Ven\sample"
csvfile = workingdir+"\test3.csv"
f=open(csvfile,'rb') # opens file for reading
reader = csv.reader(f)
for line in reader:
print line
Если вы хотите записать это обратно в новый файл с разными разделителями, вы можете создать новый файл и указать эти разделители и записать каждую строку (вместо печати кортежа).
ОК, Вот что я понял из вашего вопроса. Вы пишете файл csv из python, но когда вы открываете этот файл в какое-то другое приложение, такое как excel или open office, они показывают полную строку в одной ячейке, а не каждое слово в отдельной ячейке. Я прав??
Если я тогда, пожалуйста, попробуйте это,
import csv
with open(r"C:\test.csv", "wb") as csv_file:
writer = csv.writer(csv_file, delimiter =",",quoting=csv.QUOTE_MINIMAL)
writer.writerow(["a","b"])
необходимо указать delimiter = ","