关于python中csvwriter写一行的注意情况

csv操作

csv 文件是一种逗号分隔的纯文本形式存储的表格数据,Python内置了CSV模块,可直接通过该模块实现csv文件的读写操作

#写
with open("./data.csv", mode= "w", encoding="utf-8", newline="") as f:
   csvwriter = csv.writer(f)
   ##
   csvwriter.writerow([lst])       # 写的是列表

其中newline=""是为了防止写出的文件每隔一行有多余的空行

#读
with open("./data.csv", mode= "w", newline="") as f:
csvreader = csv.reader(f)
for row in csvreader:
	print(row)     

此外裂变多个嵌套,写多行文件,用writerows()

lst = [["hello", "world", "made", "http"], ["haha", "heihei"]]
with open("./data.csv", mode= "w", encoding="utf-8", newline="") as f:
   csvwriter = csv.writer(f)
   ##
   csvwriter.writerows([lst])       # 写的是列表

输出结果:

image-20220922212222125

注意的问题

writerow()writerows()后加的是序列(例如:列表或元组),如果出现的是字符串, 字符串恰好也是一个字符串序列,但它是一个由1个字符串组成的序列, 会出现对每个字符进行遍历输出,并有逗号隔开,例如:

csvwriter.writerow(hello)

结果:

image-20220922211533619

如果想正常输出,可以加上[],变成list

csvwriter.writerow(["hello"])

image-20220922211715485

posted @ 2022-09-22 21:25  vver  阅读(222)  评论(0)    收藏  举报