很多数据都是字典类型,今天我们就来交大家怎么把字典写入csv文件,以及遇到一些错误应该怎么解决
1.将单个字典写入csv
代码如下(示例):
import csv
datas = []
dic = {'WWWW': 'FFFF', 'MSS': '2', 'TTL': '40', 'WS': '3', 'S': 1, 'N': 1, 'D': 0, 'T': 8, 'F': 'S', 'LEN': '3C'}
header = list(dic.keys())
datas.append(dic)
with open('test.csv', 'a', newline='',encoding='utf-8') as f:
writer = csv.DictWriter(f, fieldnames=header)
writer.writeheader()
writer.writerows(datas)
2.将列表写入csv
代码如下(示例):
import pandas as pd
a = [1,2,3]
b= [3,4,4]
c =[5,5,5]
dataframe = pd.DataFrame({'a_name':a,'b_name':b,'c_name':c})
dataframe.to_csv('test.csv',index=False,sep=',')
1.第一种方法
代码如下(示例):
import csv
dic = {'WWWW': 'FFFF', 'MSS': 2, 'TTL': 40, 'WS': 3, 'S': 1, 'N': 1, 'D': 0, 'T': 8, 'F': 'S', 'LEN': '3C'}
print(dic.items())
with open('test.csv','w',newline='') as f:
writer = csv.writer(f)
for row in dic.items():
writer.writerow(row)
2.第二种方法
代码如下(示例):
import csv
myDict = {'WWWW': 'FFFF', 'MSS': 2, 'TTL': 40, 'WS': 3, 'S': 1, 'N': 1, 'D': 0, 'T': 8, 'F': 'S', 'LEN': '3C'}
keyList = myDict.keys()
valueList = myDict.values()
rows = zip(keyList, valueList)
with open('test.csv', 'w',newline='') as f:
writer = csv.writer(f)
for row in rows:
writer.writerow(row)
with open('test.csv', 'wb') as f:
若是按照上复面的’wb’形式写入到csv文件,就会出现错误(如下)。这是因为我们写入的数据就是bytes,csv编写器不再支持二进制模式。
TypeError: a bytes-like object is required, not ‘str’
2、csv文件用execl来打开,可能会出现乱码,原因如下
excel编码是gbk,pycharm和csv文件的编码是UTF-8
Original: https://blog.csdn.net/gengjuan520/article/details/115188790
Author: 曹小小
Title: python将字典按行或按列写入csv文件
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/751266/
转载文章受原作者版权保护。转载请注明原作者出处!