为不工作的特定列编写带双引号的csv文件

2024-10-01 11:21:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用python csv writer编写csv文件。

其中一个列值包含在“[双引号]中,例如:“col1”“col2”“test”,当我在写字板中打开文件时,单词test应该是“test”,但实际结果是“test”

有人能为这个问题提供指导吗。

我的试用示例片段:

csvReader = csv.reader(iInputFile)
writer = csv.writer(open('one_1.csv', 'wb'), delimiter=',', lineterminator='\r\n')

for row in csvReader:
     rawRow = []
     rawRow.append('31-7-2014') #Appending Date
     rawRow.append(row[0])   #Appending data
     rawRow.append('\"'+'test'+'\"') 
     writer.writerow(rawRow)

Tags: 文件csvtest单词col2col1writerrow
2条回答

试试这个

f_writ = open('one_4.csv', 'wb')
csvReader = csv.reader(iInputFile)
writer = csv.writer(f_writ, delimiter=',',
                lineterminator='\r\n',
                quotechar = "'"
                )

for row in csvReader:

    writer.writerow(['31-7-2014',row[0],'\"text\"'])

f_writ.close()

我也发现这个链接很有用 http://pymotw.com/2/csv/有很多例子

也许你需要使用参数引用和escapechar。

例如,修改的代码

csvReader = csv.reader(iInputFile)
writer = csv.writer(open('one_1.csv', 'wb'), delimiter=',', lineterminator='\r\n', quoting=csv.QUOTE_NONE, escapechar='\\')

for row in csvReader:
     rawRow = []
     rawRow.append('31-7-2014') #Appending Date
     rawRow.append(row[0])   #Appending data
     rawRow.append('\"'+'test'+'\"') 
     writer.writerow(rawRow)

会产生这样的输出:

31-7-2014,'col1',\"test\"

相关问题 更多 >