Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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
将CSV值写入文件会导致值以单个字符分隔(Python)_Python - Fatal编程技术网

将CSV值写入文件会导致值以单个字符分隔(Python)

将CSV值写入文件会导致值以单个字符分隔(Python),python,Python,对Python有点了解: 我有以下代码: def printCSV(output, values, header): 63 """ 64 prints the output data as comma-separated values 65 """ 66 67 try: 68 with open(output, 'w') as csvFile: 69 #print headers 70

对Python有点了解:

我有以下代码:

def printCSV(output, values, header):
 63     """
 64         prints the output data as comma-separated values
 65     """
 66 
 67     try:
 68         with open(output, 'w') as csvFile:
 69             #print headers
 70             csvFile.write(header)
 71 
 72             for value in values:
 73                 #print value, "\n"
 74                 csvFile.write(",".join(value))
 75                 csvFile.write("\n")
 76     except:
 77        print "Error occured while writing CSV file..."



Values is a list constructed somewhat like this:

values = []

for i in range(0,5):
    row = "A,%s,%s,%s" % (0,stringval, intval)
    values.append(row)
当我打开由上述函数创建的文件时,我希望看到如下内容:

Col1,Col2,Col3,Col4
A,0,'hello',123
A,0,'foobar',42
Col1,Col2,Col3,Col4
A,0,'h','e','l','l','o',1,2,3
A,0,'f','o','o','b','a','r',4,2
values = []

for i in range(0,5):
    row = ('A', 0, stringval, intval)
    values.append(row)
相反,我看到的数据如下:

Col1,Col2,Col3,Col4
A,0,'hello',123
A,0,'foobar',42
Col1,Col2,Col3,Col4
A,0,'h','e','l','l','o',1,2,3
A,0,'f','o','o','b','a','r',4,2
values = []

for i in range(0,5):
    row = ('A', 0, stringval, intval)
    values.append(row)
有人知道这是什么原因吗

我甚至尝试直接使用fopen和fwrite(),但仍然存在相同的问题


这是什么原因造成的?

您遇到的问题是您正在执行
“,”。将
value
作为字符串连接(value)
。字符串的作用类似于字符的集合,因此该命令转换为“用逗号连接每个字符”

您可以使用元组而不是字符串作为传递给
printcv
的行值,如下所示:

Col1,Col2,Col3,Col4
A,0,'hello',123
A,0,'foobar',42
Col1,Col2,Col3,Col4
A,0,'h','e','l','l','o',1,2,3
A,0,'f','o','o','b','a','r',4,2
values = []

for i in range(0,5):
    row = ('A', 0, stringval, intval)
    values.append(row)

您遇到的问题是您正在执行
“,”。将
value
作为字符串连接(value)
。字符串的作用类似于字符的集合,因此该命令转换为“用逗号连接每个字符”

您可以使用元组而不是字符串作为传递给
printcv
的行值,如下所示:

Col1,Col2,Col3,Col4
A,0,'hello',123
A,0,'foobar',42
Col1,Col2,Col3,Col4
A,0,'h','e','l','l','o',1,2,3
A,0,'f','o','o','b','a','r',4,2
values = []

for i in range(0,5):
    row = ('A', 0, stringval, intval)
    values.append(row)

为什么要执行
csvFile.write(“,”.join(value))
?请在你的问题中更详细地解释这一行代码。啊,我想你已经向我指出了这个问题。此函数用于脚本的不同部分。看起来它通常会被传递一个值列表。而当我调用它时,我传递给它一个逗号分隔的值列表。。。有人可以投票决定关闭此文件吗?如果您还不知道,Python中有一个非常好的csv模块:只需执行
import csv
。为什么要执行
csvFile.write(“,”.join(value))
?请在你的问题中更详细地解释这一行代码。啊,我想你已经向我指出了这个问题。此函数用于脚本的不同部分。看起来它通常会被传递一个值列表。而当我调用它时,我传递给它一个逗号分隔的值列表。。。有人能投票决定关闭这个吗?如果你还不知道,Python中有一个非常好的csv模块:只需执行
导入csv