将数组写入csv文件并获得多余的行

问题描述 投票:1回答:2

学习Python并编写一些测验程序。我在Excel中建立了一组问题并将其导出到CSV文件。然后,我在Python程序中读取了csv并加载了一个数组。参见下面的代码:

matrix = [[0 for x in range(w)] for y in range(h)]
with open(quizfile,'r') as csvfile:
    datacsv = csv.reader(csvfile)
    matrix = list(datacsv)

这很好,我可以很好地处理数组。我更新了一些数组值,并尝试使用以下方法写回csv文件:

with open(quizfile,'w') as csvfile:
    csvWriter = csv.writer(csvfile,delimiter=',')
    csvWriter.writerows(matrix)

我阅读的文件看起来像这样:

100,你叫什么名字,道格100,你的追求是寻求圣杯100,空载燕子的空速是多少,非洲或欧洲

我将第一列中的值从100调整为80,我写的内容如下:

80,你叫什么名字,道格

80,您的追求是什么,寻求圣杯

80,空载的燕子(非洲或欧洲)的空速是多少?>

注意每个数据行之间的空白行。当我在代码中读回更新的文件时,第二个数组行的索引超出范围。

学习Python并编写一些测验程序。我在Excel中建立了一组问题并将其导出到CSV文件。然后,我在Python程序中读取了csv并加载了一个数组。请参见下面的代码:...

python
2个回答
2
投票

[csv.writer有时会添加一个额外的\r,除非您使用newline=''打开:


1
投票

如下更新newline=''

© www.soinside.com 2019 - 2024. All rights reserved.