【Python强化】使用pandas和csv读取csv文件_导入pandas库,读取data文件夹中的order.csv文件,编码格式为“gbk”,打印出所有列-程序员宅基地

技术标签: python  数据分析  数据挖掘  Python  

一、pandas读取方式

1、csv介绍

csv文件是一种以逗号分割字符的文件形式

我们创建一个简单的文件demo.csv,如下格式的形式进行存储,以,进行分割

name,score,age,sex
lhh,100,24,男
wcy,99,28,
2.读文件
  • 直接读取
import pandas as pd
# 读取csv文件  全文件读取
data = pd.read_csv('demo.csv',encoding="gbk")  # 中文显示需要指定编码格式
df = pd.DataFrame(data)   # 当然这一步也可以不要,因为读出来的结果就是这种格式的,但是习惯性的写上这种方式
print(df)

输出:

  name  score  age sex
0  lhh    100   24   男
1  wcy     99   28   女
  • 按行读取
# 读取csv文件,一行一行的进行读取
file = pd.read_csv('demo.csv',encoding="gbk")
df = pd.DataFrame(file)

for i in range(len(df)):
    row  = df[i:i+1]
    print(row ,'\n')

输出:

  name  score  age sex
0  lhh    100   24   男 

  name  score  age sex
1  wcy     99   28
  • 获取文本标题中的每个值
# row
print("获取row 中的每个值")
for i in range(len(df)):
    row  = df[i:i+1]
    name = row ['name'][i]
    score = row ['score'][i]
    print(name,score,'\n')
3.写入csv
# 写  使用pd将数据写入到csv文件当中,按列写入
file = pd.read_csv('demo.csv',encoding="gbk")
df = pd.DataFrame(file)

dict = {
    }

for i in range(len(df)):
    row = df[i:i + 1]
    name = row['name'][i]
    sex = row['sex'][i]
    dict[name] = sex

new_df = pd.DataFrame.from_dict(dict,orient='index')
new_df.to_csv('demo_new.csv')

文件内容:

,0
lhh,男
wcy,女

二、csv读取方式

1.读取操作
#encoding=utf-8
import csv


# 读取csv文件
with open("demo.csv","r",encoding="gbk") as csvfile:
    spamreader = csv.reader(csvfile)
    for row in spamreader:
        print(row)

输出:

['name', 'score', 'age', 'sex']
['lhh', '100', '24', '男']
['wcy', '99', '28', '女']
2.以字典形式进行读取
# 以字典的形式读取
with open("demo.csv","r",encoding="gbk") as file:
    reader = csv.DictReader(file)
    items = list(reader)
    print(items)

输出

[{
    'name': 'lhh', 'score': '100', 'age': '24', 'sex': '男'}, {
    'name': 'wcy', 'score': '99', 'age': '28', 'sex': '女'}]
#指定列读取
filename = ['name','sex']
with open("demo.csv","r",encoding="gbk") as file:
    reader = csv.DictReader(file,filename)
    items = list(reader)
    print(items)

输出:

[{
    'name': 'name', 'sex': 'score', None: ['age', 'sex']}, {
    'name': 'lhh', 'sex': '100', None: ['24', '男']}, {
    'name': 'wcy', 'sex': '99', None: ['28', '女']}]
3.写入操作
# 写入csv文件
with open("demo_new_csv.csv","w") as file:
    writer = csv.writer(file)
    writer.writerow(['name','score'])  # 此时的标题需要以list形式写入,writer会在新建的csv文件中,一行一行写入

文本内容

name,score

以字典方式写入

with open('demo_new_csv.csv', 'w',newline="",encoding="gbk") as f:
    writer = csv.DictWriter(f,fieldnames=["name","score","age","sex"])
    writer.writeheader()
    writer.writerows(items)
    writer.writerow({
    'name': 'lhh', 'score': '100', 'age': '24', 'sex': '男'})

文本内容

name,score,age,sex
lhh,100,24,男
wcy,99,28,女
lhh,100,24,
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_38140292/article/details/121130426

智能推荐

MyBatis插入Insert、InsertSelective的不同以及使用心得_mybatis insertselective-程序员宅基地

文章浏览阅读7.9k次。逆向自动生成的mybatis对应配置Mapper文件里面,有两个方法,分别为insert和insertSelective。这两个方法均是插入对象的方法。为什么会有两个插入方法呢?这里说一下两者的区别。_mybatis insertselective

Android实现推送方式解决方案_android 个性化推送关闭方案-程序员宅基地

文章浏览阅读974次。本文介绍在Android中实现推送方式的基础知识及相关解决方案。推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最新的新闻信息。这种推送功能是好的一面,但是也会经常看到很多推送过来的垃圾信息,这就让我们感到厌烦了,关于这个我们就不能多说什么了,毕竟很多商家要做广告。本文就是来探讨下Android中实现推送功能的一些解决方案,也_android 个性化推送关闭方案

毕业年薪20万起步!24届南京航空航天大学自动化考研最新三年院校分析!_南京航空航天大学研究生院自动化学院研究生毕业前景-程序员宅基地

文章浏览阅读548次。学校简介南京航空航天大学创建于1952年10月,是新中国自己创办的第一批航空高等院校之一。1978年被国务院确定为全国重点大学;1981年经国务院批准成为全国首批具有博士学位授予权的高校;1996年进入国家“211工程”建设;2000年经教育部批准设立研究生院;2011年,成为“985工程优势学科创新平台”重点建设高校;2017年,进入国家“双一流”建设序列,现有航空宇航科学与技术、力学、控制科学与工程三个学科入选第二轮“一流学科”建设名单。学校现隶属于工业和信息化部。_南京航空航天大学研究生院自动化学院研究生毕业前景

Android:RecyclerView跨行跨列的LayoutManager:Spannedgridlayoutmanager_com.arasthel.spannedgridlayoutmanager.sample-程序员宅基地

文章浏览阅读778次,点赞6次,收藏4次。RecyclerView可以使用GridLayoutManager实现跨行,但是不能跨列;瀑布流布局可以跨列但是又不能跨行。原生自带的各个LayoutManager中并没有可以又跨行又能跨列的。网上搜寻了一番,找到了一个亲测可行好用的三方库:spannedgridlayoutmanager。_com.arasthel.spannedgridlayoutmanager.sample

IDEA 使用技巧 -- 抽取变量_idea提取变量-程序员宅基地

文章浏览阅读1.1w次,点赞13次,收藏7次。抽取普通变量step 1: 选中字符串step 2: 快捷键/菜单step 3: 新建变量抽取静态变量快捷键结果_idea提取变量

基于蒙特卡洛,copula函数,fuzzy-kmeans获取6个典型场景进行随机优化多类型电动汽车采用分时电价调度,考虑上级电网出力、峰谷差惩罚费用、风光调度、电动汽车负荷调度费用和网损费用-程序员宅基地

文章浏览阅读815次,点赞18次,收藏11次。充电站作为电动汽车的基础设施,实现电动汽车的有序充电是必要的。而随着电动汽车接入规模逐渐庞大,并且每辆电动汽车的充电行为互不影响的情况下,引导用户的充电行为将变得困难。在保证满足用户需求、电动汽车充电电池容量、电网变压器容量等约束的前提下,如何在短时间内对接入的电动汽车充电站进行优化调度,即如何提升调度效率使得策略更具现实意义是目前亟需解决的问题。在优化的目标函数中,可以综合考虑上级电网的出力需求、峰谷差惩罚费用、风光能源调度、电动汽车负荷调度费用以及网损费用等方面,从而实现对电力系统的更有效管理和利用。

随便推点

Javamail发送邮件后并保存邮件到已发送_代码发送的邮件 邮件服务器有已发送的邮件吗-程序员宅基地

文章浏览阅读1.1w次。前言最近北京暴雨,不知道为什么,特喜欢下雨天,下雨天适合睡觉,同样也适合写作!需求分析最近有个需求是将发送的邮件保存到已发送,一般来说最简单的做法是在服务器上配置,但是产品说,很多用户不知道这个选项,最好技术来实现,好吧,既然这样说了,干就完了!查看JavaMail Api文档邮件是在邮件服务器上存储的,邮件服务器上建立了各种的文件夹,比如INB_代码发送的邮件 邮件服务器有已发送的邮件吗

【调剂】太原科技大学 材料科学与工程学院特种金属制造与固废高值化利用课题组招收冶金、材料、机械、化工、计算机类调剂生...-程序员宅基地

文章浏览阅读297次。公众号【计算机与软件考研】每天都会发布最新的计算机考研调剂信息!点击公众号界面左下角的调剂信息或者公众号回复“调剂”是计算机/软件等专业的所有调剂信息集合,会一直更新的。太原科技大学 材料科学与工程学院特种金属制造与固废高值化利用课题组招收冶金、材料、机械、化工、计算机类调剂生:一志愿为工学专业、数一数二均可。课题组简介:本课题组与山西建邦集团共同成立“优特钢新材料产业技术研究院”,并建设有“太原..._太原科技大学任志峰

docker-compose.yaml设置中国时区_把docker-compose.yml里的这一行 - tz=cn 改成 - tz=asia/shan-程序员宅基地

文章浏览阅读3w次,点赞11次,收藏14次。背景docker中如果对时区不加限制,默认会采用格林尼治时间(GMT),这给日常程序部署、日志查看、错误调试等带来了诸多麻烦与困扰。每次都需要将event发生的显示时间+8个时区,手工换算成北京时间,想想都令人抓狂。Dockerfile中配置时区在Dockerfile中,可以通过如下方式添加中国时区:FROM docker.io/centosMAINTAINER DAVID# 使用..._把docker-compose.yml里的这一行 - tz=cn 改成 - tz=asia/shanghai

【工具使用系列】关于 MATLAB 径向基神经网络,你需要知道的事-程序员宅基地

文章浏览阅读263次。2019独角兽企业重金招聘Python工程师标准>>> ..._径向基神经网络工具

经典搜索算法总结-程序员宅基地

文章浏览阅读1.1w次,点赞20次,收藏167次。前言0x01 搜索问题的形式化0x02 树搜索和图搜索0x03 搜索算法的评估0x04 盲目搜索算法0x04.01 宽度优先搜索算法BFS0x04.02 一致代价搜索算法UCS0x04.03 深度优先搜索算法DFS前言搜索问题是在解决各类问题时不可避免的重点难点,很多问题的求解过程都可以转变为搜索问题。比如,对于以下罗马尼亚问题,希望找到一条路径使得从城市 Arad 到城市 Bucuresti 的路径最短,这就是一个经典的搜索问题,在数据结构课程中,我们都知道使用 Dijkstra 算法来求得最优解,._搜索算法

华为云鲲鹏服务器安装gogs_kunpeng golang镜像-程序员宅基地

文章浏览阅读922次。部署环境名称类型服务器华为云鲲鹏服务器系统版本CentOS 7.6 64bit with ARM安装gogs安装gityum install git -y下载gogs的armv8版本 gogs_0.12.3_linux_armv8.tar.gz 上传到服务器上解压gogs_0.12.3_linux_armv8.tar.gztar -zxvf gogs_0.12.3_linux_armv8.tar.gz进入到对应目录cd gogs后台_kunpeng golang镜像

推荐文章

热门文章

相关标签