经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python3 » 查看文章
Pandas 使用教程 CSV
来源:cnblogs  作者:VipSoft  时间:2023/8/29 9:32:59  对本文有异议

CSV(Comma-Separated Values,逗号分隔值,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。

CSV 是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。

AttributeError: partially initialized module 'pandas' has no attribute 'read_csv' (most likely due to a circular import)
``
升级 Pandas
pip install --upgrade pandas -i https://pypi.tuna.tsinghua.edu.cn/simple

如果代码点进去,能看到有 read_csv 方法 ,但还报不存在,检查一下文件名,开始我使用的是 csv.py 估计是冲突了

demo.json

  1. [
  2. {
  3. "name":"张三",
  4. "age":23,
  5. "gender":true
  6. },
  7. {
  8. "name":"李四",
  9. "age":24,
  10. "gender":true
  11. },
  12. {
  13. "name":"王五",
  14. "age":25,
  15. "gender":false
  16. }
  17. ]

JSON 转换为 CSV

非常方便,只要通过 pd.read_json 读出JSON数据,再通过 df.to_csv 写入 CSV 即可

  1. import pandas as pd
  2. json_path = 'data/demo.json'
  3. # 加载 JSON 数据
  4. with open(json_path, 'r', encoding='utf8') as f:
  5. # 解析一个有效的JSON字符串并将其转换为Python字典
  6. df = pd.read_json(f.read())
  7. print(df.to_string()) # to_string() 用于返回 DataFrame 类型的数据,我们也可以直接处理 JSON 字符串。
  8. print('-' * 10)
  9. # 重新定义标题
  10. df.columns = ['姓名', '年龄', '性别']
  11. print(df)
  12. df.to_csv('data/result.csv', index=False, encoding='GB2312')

image

  1. import pandas as pd
  2. df = pd.read_csv('data/result.csv', encoding='GB2312')
  3. print(df.to_string()) # 如果不使用该函数,则输出结果为数据的前面 5 行和末尾 5 行,中间部分以 ... 代替。
  4. print(('-' * 10) + " 取前 N 行")
  5. # head( n ) 方法用于读取前面的 n 行,如果不填参数 n ,默认返回 5 行。
  6. print(df.head(1))
  7. print(('-' * 10) + " 取尾部 N 行")
  8. # tail( n ) 方法用于读取尾部的 n 行,如果不填参数 n ,默认返回 5 行,空行各个字段的值返回 NaN。
  9. print(df.tail(2))
  10. print(('-' * 10) + " info() 方法返回表格的一些基本信息:")
  11. # info() 方法返回表格的一些基本信息:
  12. print(df.info())

结果输出:

  1. 姓名 年龄 性别
  2. 0 张三 23 True
  3. 1 李四 24 True
  4. 2 王五 25 False
  5. ---------- 取前 N
  6. 姓名 年龄 性别
  7. 0 张三 23 True
  8. ---------- 取尾部 N
  9. 姓名 年龄 性别
  10. 1 李四 24 True
  11. 2 王五 25 False
  12. ---------- info() 方法返回表格的一些基本信息:
  13. <class 'pandas.core.frame.DataFrame'>
  14. RangeIndex: 3 entries, 0 to 2
  15. Data columns (total 3 columns):
  16. # Column Non-Null Count Dtype
  17. --- ------ -------------- -----
  18. 0 姓名 3 non-null object
  19. 1 年龄 3 non-null int64
  20. 2 性别 3 non-null bool
  21. dtypes: bool(1), int64(1), object(1)
  22. memory usage: 179.0+ bytes
  23. None

image

原文链接:https://www.cnblogs.com/vipsoft/p/17657577.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号