Python–csv文件处理建议收藏

CSV(Comma-SeparatorValues)逗号分割值,由于是纯文本文件,任何编辑器都可以打开。下面用csv和pandas两种方式进行csv文件操作原始csv文件内容1.csv包操作c

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

Python--csv文件处理建议收藏此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“”,获取验证码。在微信里搜索“”或者“”或者微信扫描右侧二维码都可以关注本站微信公众号。

CSV(Comma-Separator Values)逗号分割值,由于是纯文本文件,任何编辑器都可以打开。下面用csv和pandas两种方式进行csv文件操作  

原始csv文件内容

Supplier Name,Invoice Number,Part Number,Cost,Purchase Date
Supplier X,001-1001,2341,$500.00 ,1/20/14
Supplier X,001-1001,2341,$500.00 ,1/20/14
Supplier X,001-1001,5467,$750.00 ,1/20/14
Supplier X,001-1001,5467,$750.00 ,1/20/14
Supplier Y,50-9501,7009,$250.00 ,1/30/14
Supplier Y,50-9501,7009,$250.00 ,1/30/14
Supplier Y,50-9505,6650,$125.00 ,2002/3/14
Supplier Y,50-9505,6650,$125.00 ,2002/3/14
Supplier Z,920-4803,3321,$615.00 ,2002/3/14
Supplier Z,920-4804,3321,$615.00 ,2002/10/14
Supplier Z,920-4805,3321,"$6,015.00 ",2/17/14
Supplier Z,920-4806,3321,"$1,006,015.00 ",2/24/14

1. csv包操作csv文件

#coding=utf-8

import sys
import csv
import re

read_file = sys.argv[1]
write_file = sys.argv[2]

with open(read_file, "r") as readfile:
    with open(write_file, "w") as writefile:
        reader = csv.reader(readfile, delimiter=",")
        writer = csv.writer(writefile, delimiter=",")
        header = next(reader)
        writer.writerow(header)
        for rowlist in reader:
            #通过正则表达是进行行匹配
            if re.match(r"^001-*.", str(rowlist[1])):
                print (rowlist)
                writer.writerow(rowlist)

>>> D:\Pystu>python parsecsvfile.py supplier_data.csv ceshi.csv
>>> Supplier Name,Invoice Number,Part Number,Cost,Purchase Date
>>> Supplier X,001-1001,2341,$500.00 ,1/20/14
>>> Supplier X,001-1001,2341,$500.00 ,1/20/14
>>> Supplier X,001-1001,5467,$750.00 ,1/20/14
>>> Supplier X,001-1001,5467,$750.00 ,1/20/14

2. pandas包操作csv文件

#coding=utf-8

''' 运用pandas包解析csv文件'''
import pandas
from pandas import Series,DataFrame
import sys

file_path = sys.argv[1]
write_path = sys.argv[2]
data_frame = pandas.read_csv(file_path)
#print (data_frame)

#注意str的使用
data_frame["Cost"] = data_frame["Cost"].str.replace(",", "").str.strip("$").astype(float)
#print (data_frame)

newa = data_frame.loc[data_frame["Cost"] > 600, :]
#print (newa)
newa.to_csv(write_path, index = False)

>>> D:\Pystu>python parse_csv_file_by_pandas.py supplier_data.csv ceshi.csv
>>> Supplier Name,Invoice Number,Part Number,Cost,Purchase Date
>>> Supplier X,001-1001,5467,750.0,1/20/14
>>> Supplier X,001-1001,5467,750.0,1/20/14
>>> Supplier Z,920-4803,3321,615.0,2002/3/14
>>> Supplier Z,920-4804,3321,615.0,2002/10/14
>>> Supplier Z,920-4805,3321,6015.0,2/17/14
>>> Supplier Z,920-4806,3321,1006015.0,2/24/14

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120209.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Hadoop的安装与配置

    Hadoop的安装与配置Hadoop的安装与配置

  • Nginx-使用以及几种负载均衡算法

    Nginx-使用以及几种负载均衡算法文章目录Nginx(enginex)Nginx能做什么?1.正向代理2.反向代理3.HTTP服务器(动静分离等)4.负载均衡负载均衡模块-upstreamupstream负载均衡算法:轮询(roundrobin)加权轮询(WeightedRoundRobin)IP_Hashfair(第三方)url_hash(第三方)Nginx配置文件Nginxlocation匹配规则Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3

  • 微软OOXML正式成为国际标准 更名为OXML

    微软OOXML正式成为国际标准 更名为OXML  近日,ISO组织宣布,由于赢得了足够的支持,微软的OOXML文档格式已被批准为全球行业标准,并将其命名更改为“OpenXML”。  为了使OOXML文档格式成为国际标准,微软一直在努力寻求各界支持,包括积极争取各国政府合同,吸引开发界开发新的应用程序软件等。去年9月,ISO在首轮投票中拒绝了OOXML成为国际标准的请求,在104个成员国中,只有53%投了赞成票,未达到成为国际标准所需的2/

  • 一比一还原axios源码(七)—— 取消功能

    按照惯例,我们先来看下官方的例子:你可以通过axios的CancelToken工厂函数,生成一个source,然后把这个对象作为参数传递给axios,最后,需要取消的时候调用source的cance

  • Charles工具的hppts+APP抓包配置(双向加密验证抓包)[通俗易懂]

    Charles工具的hppts+APP抓包配置(双向加密验证抓包)[通俗易懂]现在的测试攻城狮太不容易啦~,不仅要测Bug还要粗略定位Bug,不然开发大佬就会说这是后端的Bug提到我前端干什么。哈哈哈,为了避免尴尬(装B),我们就要自己抓包,然后粗略定位一下,Bug是接口数据问题,还是前端处理问题。http抓包网上已经有很多资料了,这里分享一下https的APP抓包。记录一下,互相学习。共勉!!!1、下载Charles工具,官网地址:https://www.charlesproxy.com/下载之后一路傻瓜式安装就可以啦~,这里不过多描述哈。不会的同学请…

  • 嵌入式led控制实验报告(嵌入式系统由嵌入式硬件)

    《ARM嵌入式系统与应用实验报告》由会员分享,可在线阅读,更多相关《ARM嵌入式系统与应用实验报告(26页珍藏版)》请在人人文库网上搜索。1、信息科学与技术系ARM嵌入式系统与应用实验报告专业班级____电信0803班__________学号____________姓名______________实验老师_____________总成绩________________…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号