1.Python写入CSV乱码问题:
在写入CSV文件时,如果含有中文字符,再次读取该csv文件时则会发生编码错误。以下方式可以解决
data.to_csv("test.csv", index=False, encoding='utf-8')
2.Python写入CSV mode参数选择问题:
(1)读取CSV(看看CSV里有什么,把这里面的值存到字典里)
import csv
# 1.找到打开的路径,通过open打开文件,
#声明打开的方式mode,编码为coding=utf-8
csv_file =open(r"D:\PythonDome\data\data.csv",mode='r',encoding='utf-8')
# 2.导入csv包,读取打开的文件
csv_data = csv.reader(csv_file)
# 3.通过for循环遍历出读取的文件,存入字典
for i in csv_data:
csv_dict = {'v1':i[0],
'v2':i[1],
'v3':i[2],
'v4':i[3],
'v5':i[4]}
# 4.关闭
csv_file.close()
(2)写入csv文件(把python里面的dataframe等存到 CSV文档里)
#注意:w:覆盖原来的所有内容 a+:追加
# 导入csv模块
import csv
#1.构造写入的数据
list_data = ['我','是','一','个','88','qing','nian']
# 2.找到被写入文件的路径,通过open方法打开,声明打开的方式mode为写,# 编码格式utf-8,newline忽略空白行
csv_w_list=open(r"D:\PythonDome\data\data.csv",mode='w',encoding='utf-8',newline=' ')
# 3.通过csv写入的方法声明往哪里写,声明写入的数据格式
dialect='excel'
csv_data=csv.writer(csv_w_list,dialect='excel')
# 4.在往哪里写的基础上,具体写入内容
csv_data.writerow(list_data)
#daraframe可以直接写入
df.to_csv(file_path,mode="a",encoding="utf-8")
# 5.关闭文件
csv_w_list.close()