Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为不工作的特定列写入带双引号的csv文件_Python_Python 2.7_Csv_Double Quotes - Fatal编程技术网

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

Python 为不工作的特定列写入带双引号的csv文件,python,python-2.7,csv,double-quotes,Python,Python 2.7,Csv,Double Quotes,我正在尝试使用python csv编写器编写csv文件 其中一个列值包含在“[双引号]中,例如:“col1”“col2”“test”,当我在写字板中打开文件时,单词test应为“test”,但实际结果为“test” 有人能为这个问题提供指导吗 “我的尝试”的示例片段: csvReader = csv.reader(iInputFile) writer = csv.writer(open('one_1.csv', 'wb'), delimiter=',', lineterminator='\r\n

我正在尝试使用python csv编写器编写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)

可能您需要使用参数引用和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\"
试试这个

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()
我还发现这个链接非常有用
从@GiovanniPi接受的答案中,我可以看出有很多例子,默认值是

quotechar= '"'
由于预期输出已经有双引号,因此必须将其更改为:

quotechar = "'"

我不确定如果需要单引号和双引号,您会怎么做,因为quotechar需要一个1字符的字符串

谢谢您的回复,但我只需要双引号中的字符串。没有任何其他字符,甚至没有空格。谢谢你的链接,真的很有用。你的代码完全符合我的要求。但是你能解释一下吗,让我更好地理解。非常感谢。:)