用Python做数据处理常常会将数据写到文件中进行保存,又或将保存在文件中的数据读出来进行使用。通过Python将列表中的数据写入到csv文件中很多人都会,可以通过Python直接写文件或借助pandas很方便的实现将列表中的数据写入到csv文件中,但是写进去以后取出有些字段会有变化有些坑还是要避免。本文通过实例来介绍如何将列表中的数据写入文件如csv并正确解析出来使用。
示例数据如下:
1 |
data = [['John', '25', 'Male',[99,100,98]], |
通过pandas将数据写入csv
1 |
import pandas as pd |
我们对原始的数据中的分数Score字段进行求和统计总分TotalScore
1 |
df['TotalScore']=df['Score'].apply(sum) |
通过pandas将csv文件中的数据读出
用pandas将csv文件将数据读出也是非常方便的一行代码就可以搞定
1 |
df_read_csv=pd.read_csv(filename) |
但是会发现从csv文件中读出数据后形成的dataframe数据集对数据中的分数Score字段进行求和统计总分TotalScore会报错!
1 |
df_read_csv['TotalScore']=df_read_csv['Score'].app |
原因是原数据中Score字段中的数据是list但是报错至文件读出来后这个字段变成了字符串,字符串不能求和。
解决方案
将字段中为字符串的值进行转换,转换成list,numpy提供了string转list的方法,当然也可以自己写。
1 |
import numpy as np |
可以看到这下Score字段可以正常的进行求和统计总分TotalScore了。
博客地址:http://xiejava.ishareread.com/
“fullbug”微信公众号
关注微信公众号,一起学习、成长!
原文始发于微信公众号(fullbug):Python将列表中的数据写入csv并正确读取解析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论