关于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]) # 写的是列表
输出结果:

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

如果想正常输出,可以加上[],变成list
csvwriter.writerow(["hello"])


浙公网安备 33010602011771号