Python数据分析:csv⽂件数据的提取案例Python数据分析:csv⽂件数据的提取案例
⽬标:提取csv⽂件中的国家和所对应的性别统计数据
import csv
# 数据集路径
path ='survey.csv'
def run_main():
# 男性取值列表
male_set ={'male','m'}
# ⼥性取值列表
female_set ={'female','f'}
# 创建存储结果的空字典,键为国家,值为⼥性和的列表
result_dict ={}
# 加载数据
with open(path,'r', newline='')as csvfile:
rows = ader(csvfile)
for i, row in enumerate(rows):
# 跳过标题
if i ==0:
continue
# 每50⾏打印
if i %50==0:
print('正在处理第{}⾏数据...'.format(i))
# 取出原始csv⽂件中的性别数据
gender_val = row[2]
country_val = row[3]
# 去除空格
gender_val = place(' ','')
# 转换为⼩写
gender_val = gender_val.lower()
# 判断国家是否已经存在,若不存在则初始化
if country_val not in result_dict:
result_dict[country_val]=[0,0]
# 判断性别
if gender_val in female_set:
result_dict[country_val][0]+=1
elif gender_val in male_set:
result_dict[country_val][1]+=1
python怎么读csv数据else:
pass
# 将提取数据写⼊⽂件
with open('country_gender.csv','w', newline='', encoding='utf-16')as csvfile:
csvwriter = csv.writer(csvfile, delimiter=',')
# 写⼊表头
csvwriter.writerow(['国家','男性','⼥性'])
# 写⼊统计结果,k为国家,v为性别数据
for k, v in list(result_dict.items()):
csvwriter.writerow([k, v[0], v[1]])
if __name__ =='__main__':
run_main()
运⾏得到的country_gender.csv⽂件在Excel中的打开显⽰:
这⾥发现在Excel中的显⽰并不是按列显⽰,解决⽅法是先⽤记事本打开csv⽂件,然后另存为选择UTF-8的编码⽅式,保存后再⽤Excel打开csv⽂件即可正确显⽰如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论