Python日常用法—将列表信息写入到csv文件
1.模板
# 编写数据
import csv
data_list = [{'皇马球员': 'C罗', '号码': '7', '国籍': '葡萄牙'},
{'皇马球员': '托尼··克罗斯', '号码': '8', '国籍': '德国'},
{'皇马球员': '马塞洛', '号码': '12', '国籍': '巴西'},
{'皇马球员': '卡里姆·本泽马', '号码': '9', '国籍': '法国'},]
# 1.创建csv文件对象,encoding='utf-8'是设置编码格式,newline=''为了防止空行
f = open('hala_madrid.csv', 'w', encoding='utf-8')
# 2.基于文件对象构建csv写入对象
csv_write = csv.writer(f)
# 3.构建列表头
csv_write.writerow(['皇马球员', '号码', '国籍'])
for data in data_list:
# 4.写入csv文件
csv_write.writerow([data['皇马球员'], data['号码'], data['国籍']])
文章来源地址https://www.toymoban.com/news/detail-613242.html
2.实例
import pandas as pd
import numpy as np
from collections import Counter
import csv
import pandas as pd
cloumn_names = [] ## 所有列的名称(首行)
all_cloumn_dict = [] ## 所有的字典 及 次数
all_counter = [] ## 所有的填充率
all_cloumn_value = [] ## 方便后续进行数据写入
# 读取csv文件,pandas会将CSV数据的第一行作为表头
data = pd.read_csv("model_jy_1.csv", header=None)
# print("表格内容:")
# print("1111111",data)
for i in data:
cloumn_names.append(i)
# print("首行:",cloumn_names)
all_data = []
for i in cloumn_names:
nan_count = 0 ## 统计 缺失值 的情况
print("********************* 第", cloumn_names.index(i) + 1, "列情况分布********************")
col_1 = data[i] # col_1 = data["ID"] #获取一列,用一维数据
data_1 = np.array(col_1)
print("列名:", data_1[0])
print("列值:", data_1[1:])
## 离散型取哑变量填充
data_2 = []
if data_1[0] == "C":
data_2 = ['99' if str(i) == 'nan' else i for i in list(data_1)] ## 有则替换,无则使用原先的数值
## 连续型取均值填充
if data_1[0] == "I":
temp = []
for j in list(data_1[1:]):
if str(j) != "nan":
temp.append(float(j))
mean_1 = round(np.mean(temp), 4)
data_2 = [str(mean_1) if str(i) == 'nan' else i for i in list(data_1)]
all_data.append(data_2)
print(all_data)
## 字典中的key值即为csv中列名
dataframe = pd.DataFrame({'M 0 ': all_data[ 0 ][1:] ,
'M 1 ': all_data[ 1 ][1:] ,
'M 2 ': all_data[ 2 ][1:] ,
'M 3 ': all_data[ 3 ][1:] ,
'M 4 ': all_data[ 4 ][1:] ,
'M 5 ': all_data[ 5 ][1:] , })
# 将DataFrame存储为csv
dataframe.to_csv(r"./model_jy_1_填充.csv", mode="a", index=False)
3.python 列表中的元素直接更改、替换
aaa=['马塞洛','阿扎尔','佩佩','拉莫斯']
bbb=['C罗' if i =='阿扎尔' else i for i in aaa]
bbb
结果:
['马塞洛','C罗','佩佩','拉莫斯']
文章来源:https://www.toymoban.com/news/detail-613242.html
到了这里,关于Python日常用法—将列表信息写入到csv文件、列表中的元素直接更改的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!