1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python日常用法—将列表信息写入到csv文件 列表中的元素直接更改

Python日常用法—将列表信息写入到csv文件 列表中的元素直接更改

时间:2024-05-01 18:54:54

相关推荐

Python日常用法—将列表信息写入到csv文件 列表中的元素直接更改

Python日常用法—将列表信息写入到csv文件

1.模板

# 编写数据import csvdata_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['国籍']])

2.实例

import pandas as pdimport numpy as npfrom collections import Counterimport csvimport pandas as pdcloumn_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存储为csvdataframe.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罗','佩佩','拉莫斯']

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。