数据如下图:

用python对数据进行处理:

#读取csv文件内容并进行数据处理

import os
import csv
import datetime
import re
from itertools import islice csv_file_path = 'query_hive.csv' #文件路径
write2_csv_file_path = 'hive_result2.csv' #处理第二列数据
write6_csv_file_path = 'hive_result6.csv' #处理第六列数据 #定义一个写入数据函数
def write_csv_file():
if os.path.exists(csv_file_path) is False :
print("不存在文件鸭!")
return with open(csv_file_path,'r') as r_file:
#读取csv文件内的所有内容
file_read = csv.reader(r_file)
for row in islice(file_read,1,None): #如果第一行是列名,用islice函数直接跳过第一行 islice(文件名,跳过的行数,None)
print(row)
#处理第六列数据
row6 = row[5] #第六列数据
len_str6 = len(row6) #第六列数据的长度
print("此列字符串的长度:{}".format(len_str6))
L_str6 = list(row6[1:len_str6-1].split('|')) #对第六列数据进行分割得到数字字符串列表
print("此列得到数字字符串列表:{}".format(L_str6))
L_num6 = list() #创建一个空列表存储数据
for s in L_str6: #将字符串列表变为数字型列表
if s=='' :
L_num6.append(0)
else:
L_num6.append(int(s))
print("此列得到数字型数据列表{}".format(L_num6)) #处理第一列数据
row2 = row[1] #第一列数据
len_str2 = len(row2) #第一列数据的长度
print("此列数据串的长度".format(len_str2))
L_str2 = list(re.split("[/.]",row2[1:])) #用多个分隔符分割字符串
print("此列得到字符串列表{}".format(L_str2)) #写入2数据
csv_write_list = [L_str2] #用于写入文件的数据
with open(write2_csv_file_path,'a',newline='') as w_file: #若没有newline=''每读入一行数据后跟一个空行
writer = csv.writer(w_file,dialect='excel')
for row_item in csv_write_list:
writer.writerow(row_item) #写入6数据
csv_write_list = [L_str6]
with open(write6_csv_file_path,'a',newline='') as w_file: #若没有newline=''每读入一行数据后跟一个空行
writer = csv.writer(w_file,dialect='excel')
for row_item in csv_write_list:
writer.writerow(row_item) if __name__ == "__main__":
write_csv_file() #注意
'''
1)写入文件数据的时候,只能以字符串的格式写入!
2)L_str 是处理之后的字符串列表,若要将其写入文件中,还需要进一步操作:将其作为新列表的一个元素进行读入
暨csv_write_list = [L_str6]
3)如果打开待写入文件时没有参数 newline='' ,那么最后的文件中每一数据行后都有一个空行
4)如果数据文件第一行是列名,用islice函数直接跳过第一行 islice(文件名,跳过的行数,None)
'''

  

python 数据处理 对csv文件进行数据处理的更多相关文章

  1. python在处理CSV文件时,字符串和列表写入的区别

    概述 Python在处理CSV文件时,如果writerow的对象是<type 'unicode'>字符串时,写入到CSV文件时将会出现一个字符占一个单元格的情况: 但是将字符串转换为列表类 ...

  2. python中操作csv文件

    python中操作csv文件 读取csv improt csv f = csv.reader(open("文件路径","r")) for i in f: pri ...

  3. python 数据处理 对txt文件进行数据处理

    数据: 对txt文件进行数据处理: txt_file_path = "basic_info.txt" write_txt_file_path = "basic_info1 ...

  4. [Python]-pandas模块-CSV文件读写

    Pandas 即Python Data Analysis Library,是为了解决数据分析而创建的第三方工具,它不仅提供了丰富的数据模型,而且支持多种文件格式处理,包括CSV.HDF5.HTML 等 ...

  5. Python: 对CSV文件读写 和 Md5加密

    1. python 有专门的csv包,直接导入即可. import csv: 2. 直接使用普通文件的open方法 csv_reader=open("e:/python/csv_data/l ...

  6. Python在向CSV文件写中文时乱码的处理办法

    前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode.当list.tuple.dict里面有中文时,打印出来的是Unicode编码,这个是无解的.对中文 ...

  7. [Python Study Notes]csv文件操作

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  8. 【python】写csv文件时遇到的错误

    1.错误 在许多文件中,写入csv文件时都加"wb",w指写入,b指二进制 如: csvwrite=csv.writer(open("output.csv",& ...

  9. Python中读取csv文件内容方法

    gg 224@126.com 85 男 dd 123@126.com 52 女 fgf 125@126.com 23 女 csv文件内容如上图,首先导入csv包,调用csv中的方法reader()创建 ...

随机推荐

  1. MySQL报Too many connections

    错误信息 Exception in thread "main" java.sql.SQLNonTransientConnectionException: Data source r ...

  2. MRCP接口MRCPRecog 简介

    功能:开始一个语音识别,一边讲话,一边识别,需要ASR服务器. 原型:MRCPRecog (grammar, options) grammar ---- 语法文件,可以是一个xml文件 options ...

  3. Thread的join方法

    一个线程在执行的过程中,可能调用另一个线程,前者可以称为调用线程,后者成为被调用线程. Thread.Join方法的使用场景:调用线程挂起,等待被调用线程执行完毕后,继续执行. 如下案列: 当NewT ...

  4. MySql向SQLServer迁移常见问题

    -- MySql与SQLServer update inner join语法区别-- MySql: UPDATE A LEFT JOIN B ON A.B_ID = B.B_ID SET A.A_NA ...

  5. Vue -> 解决 vue-ueditor-wrap 不能显示的问题

  6. Day1-C-CF-1144A

    简述:给你一串字符,判断是否由连续字母构成且每个字符只出现一次 思路:用set直接储存,判断size和初末位置字母与size的关系即可 代码: #include<iostream> #in ...

  7. [Linux] day04——Linux 入门

    Linux 入门 =================Gnome 基于GTK图形库 速度快 稳定性好 专注与桌面本身 偏商务 RedHat企业版默认桌面KDE 基于QT 速度慢 软件多 习惯接近win ...

  8. VS2010如何进行程序调试

    VS2010如何进行程序调试 一.前言 对于初步学习C++的朋友,程序的调试是一项必备的技能.尤其是像C++这样难学的语言,程序调试的基本方法更是至关重要.毕竟,谁也不想自己幸幸苦苦一天敲出来的代码就 ...

  9. 单页面应用程序(SPA)的优缺点

    我们通常所说的单页面应用程序通常通过前端框架(angular.react.vue)进行开发,单页面应用程序将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML.JavaScr ...

  10. 简单讲解什么是黑帽SEO

    此文章主要讲的是黑帽SEO之搜索引擎劫持: SEO(Search Engine Optimization)搜索引擎优化,简单来说,就是让网站的排名更高,比如,搜索"博客"这个关键字 ...