如何在python中使用csv的分隔符

hyd*_*ydi 23 python csv delimiter

我在查找如何在Python中使用csv.writer的分隔符时遇到了麻烦.我有一个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
Run Code Online (Sandbox Code Playgroud)

应该

   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
Run Code Online (Sandbox Code Playgroud)

(单个单元格中的每个单词).

我试过了:

import csv
workingdir = "C:\Mer\Ven\sample"
csvfile = workingdir+"\test3.csv"
f=open(csvfile,'wb')

csv.writer(f, delimiter =' ',quotechar =',',quoting=csv.QUOTE_MINIMAL)
Run Code Online (Sandbox Code Playgroud)

und*_*run 20

您的代码正在删除您的文件:

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)
Run Code Online (Sandbox Code Playgroud)

如果要读取文件,则需要使用csv.reader并打开文件进行读取.

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
Run Code Online (Sandbox Code Playgroud)

如果要将其写回具有不同分隔符的新文件,则可以创建新文件并指定这些分隔符并写出每一行(而不是打印元组).


abh*_*arg 6

好的,这是我从你的问题中了解到的。您正在从 python 编写 csv 文件,但是当您将该文件打开到其他应用程序(如 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"])
Run Code Online (Sandbox Code Playgroud)

你必须设置 delimiter = ","