Python 3.x Python-将逗号字符追加到csv文件中的行

Python 3.x Python-将逗号字符追加到csv文件中的行,python-3.x,csv,comma,Python 3.x,Csv,Comma,这可能是微不足道的,但我尝试了很多,但没有成功。 我有以下代码: if a == 0 and b == c-1: row.append(str(arrayElement[k])+"],") .csv文件中所需的输出应类似于以下内容: [1,1,2], k = 0 row = [] for M in range (X): for N in range(Y): if N != Y:

这可能是微不足道的,但我尝试了很多,但没有成功。
我有以下代码:

if a == 0 and b == c-1:
    row.append(str(arrayElement[k])+"],")
.csv
文件中所需的输出应类似于以下内容:

[1,1,2],
        k = 0
        row = []
        for M in range (X):
            for N in range(Y):
                if N != Y:
                    k = k + 1                     
                    if M == 0 and N == 0:
                        row.append("[["+str(arrayElement[k-1]))
                    elif M == 0 and N == Y -1:
                        row.append(str(arrayElement[k-1])+"],")
                    elif M == X -1 and N == Y -1:
                        row.append(str(arrayElement[k-1])+"]]")
                    elif M > 0 and N == Y -1:
                        row.append(str(arrayElement[k-1])+"],")
                    elif M > 0 and N == 0:                       
                        row.append("["+str(arrayElement[k-1]))
                    else:
                        row.append(str(arrayElement[k-1]))
            WeightsWriter.writerow(row)
            row = []
i、 e:我希望行中的最后一列包含字符串
2],
然而,我得到的是:

[1,1,"2],"
如何以我想要的格式获得输出

编辑:我正在读取二进制文件,最终输出应如下所示:

[[1,1,2],
[2,3,4],
[5,6,7]]
我成功地编写了
[
[
]
,因此第一行的第一个单元格包含:
[[1
, 第二行的第一个单元格:
[2
,第二行的最后一个单元格
4],

完整代码如下所示:

[1,1,2],
        k = 0
        row = []
        for M in range (X):
            for N in range(Y):
                if N != Y:
                    k = k + 1                     
                    if M == 0 and N == 0:
                        row.append("[["+str(arrayElement[k-1]))
                    elif M == 0 and N == Y -1:
                        row.append(str(arrayElement[k-1])+"],")
                    elif M == X -1 and N == Y -1:
                        row.append(str(arrayElement[k-1])+"]]")
                    elif M > 0 and N == Y -1:
                        row.append(str(arrayElement[k-1])+"],")
                    elif M > 0 and N == 0:                       
                        row.append("["+str(arrayElement[k-1]))
                    else:
                        row.append(str(arrayElement[k-1]))
            WeightsWriter.writerow(row)
            row = []

尝试在将行添加到CSV文件时添加逗号,而不是将逗号添加到数组本身。例如:

row = [1,2,3]
csv.write(str(row)+",") # Writes [1, 2, 3], to CSV file
rows = []
rowa = [1,2,3]
rows.append(rowa)
rowb = [4,5,6]
rows.append(rowb)
",".join([str(_) for _ in rows]) # Outputs [1, 2, 3],[4, 5, 6]
如果您有许多不同的行,并且希望用逗号连接这些行,则可以使用“
”、“。连接(行)
以逗号连接这些行。例如:

row = [1,2,3]
csv.write(str(row)+",") # Writes [1, 2, 3], to CSV file
rows = []
rowa = [1,2,3]
rows.append(rowa)
rowb = [4,5,6]
rows.append(rowb)
",".join([str(_) for _ in rows]) # Outputs [1, 2, 3],[4, 5, 6]

希望这有帮助!

尝试在将行添加到CSV文件时添加逗号,而不是将逗号添加到数组本身。示例:

row = [1,2,3]
csv.write(str(row)+",") # Writes [1, 2, 3], to CSV file
rows = []
rowa = [1,2,3]
rows.append(rowa)
rowb = [4,5,6]
rows.append(rowb)
",".join([str(_) for _ in rows]) # Outputs [1, 2, 3],[4, 5, 6]
如果您有许多不同的行,并且希望用逗号连接这些行,则可以使用“
”、“。连接(行)
以逗号连接这些行。例如:

row = [1,2,3]
csv.write(str(row)+",") # Writes [1, 2, 3], to CSV file
rows = []
rowa = [1,2,3]
rows.append(rowa)
rowb = [4,5,6]
rows.append(rowb)
",".join([str(_) for _ in rows]) # Outputs [1, 2, 3],[4, 5, 6]

希望这有帮助!

引号出现是因为CSV代表逗号分隔的值。如果它必须包含文字逗号,则需要将其引用

您似乎没有“在行尾添加逗号”;您在这里混合了抽象级别。行尾的逗号表示此行的最后一个值为空。您试图强制CSV生成代码执行一些文本文件级别的操作

在正确的抽象级别上操作意味着在您试图保存的列表中添加一个空字符串:

import csv
import sys  # for the sake of example 

writer = csv.writer(sys.stdout)
writer.writerow([1, 2, 3])  # writes 1,2,3
writer.writerow([1, 2, 3, ''])  # writes 1,2,3,

现在,空值前面有一个逗号,正好在行的末尾。

引号出现是因为CSV代表逗号分隔的值。如果它必须包含文字逗号,则需要将其引用

您似乎没有“在行尾添加逗号”;您在这里混合了抽象级别。行尾的逗号表示此行的最后一个值为空。您试图强制CSV生成代码执行一些文本文件级别的操作

在正确的抽象级别上操作意味着在您试图保存的列表中添加一个空字符串:

import csv
import sys  # for the sake of example 

writer = csv.writer(sys.stdout)
writer.writerow([1, 2, 3])  # writes 1,2,3
writer.writerow([1, 2, 3, ''])  # writes 1,2,3,

现在,空值前面有一个逗号,正好在行的末尾。

我已经尝试过这个解决方案,但它使输出更加混乱。顺便说一句,我正在使用类似
parametersWriter.writerow(行)的命令
什么意思使输出更混乱?它是否按预期工作?不幸的是,没有。输出更复杂,值之间有很多逗号。您能否分享更多关于如何写入csv文件的信息?这可能会有帮助,并且有许多行需要用逗号分隔?好的,将编辑original问题包含更多细节。我已经尝试过这个解决方案,但它使输出更加混乱。顺便说一句,我正在使用类似
parametersWriter.writerow(row)的命令
什么意思使输出更混乱?它是否按预期工作?不幸的是,没有。输出更复杂,值之间有很多逗号。您能否分享更多关于如何写入csv文件的信息?这可能会有帮助,并且有许多行需要用逗号分隔?好的,将编辑original问题,包括更多细节。这应该是公认的答案。尝试过,对我有效。此外,这是对CSV库的一个很好的解释。这应该是公认的答案。尝试过,对我有效。此外,这是对CSV库的一个很好的解释。