数据如下图:

用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. WEB - JSONP

    JSON with Padding参考 https://zh.wikipedia.org/wiki/JSONP http://www.runoob.com/json/json-jsonp.html 使 ...

  2. jqgrid自适应宽度

    https://blog.csdn.net/duzhanxiaosa/article/details/78922660

  3. Ubuntu中安装pycharm

    1.首先在官网上下载pycharm 2.下载完成后解压,进入到解压文件夹里的bin,找到pycharm.sh 3.使用终端启动:sh pycharm.sh 4.关于破解: 通过命令打开hosts:cd ...

  4. js学习:函数

    概述 函数的声明 JavaScript 有三种声明函数的方法 function 命令 function命令声明的代码区块,就是一个函数.function命令后面是函数名,函数名后面是一对圆括号,里面是 ...

  5. 笔记-redis-订阅系统

    笔记-redis-订阅系统 1.      发布/订阅pub/sub 1.1.  基本命令 PUBLISH channel message #将信息发送到指定的频道. SUBSCRIBE channe ...

  6. ipmitool命令

    1.remote access control powerIpmitool -I lanplus -H 192.168.0.10 -U username -P Password chassis pow ...

  7. Struts配置文件报错"元素类型为 "package" 的内容必须匹配"

    报错信息 元素类型为 "package" 的内容必须匹配 "(result-types?,interceptors?,default-interceptor-ref?,d ...

  8. GO常量/枚举

    常量中的数据类型只可以是布尔型.数字型(整数型.浮点型和复数)和字符串型. 常量的定义格式: const identifier [type] = value 你可以省略类型说明符 [type],因为编 ...

  9. 【转】Docker学习_本地/容器文件互传(5)

    将容器内文件拷贝到宿主机 docker cp <containerId>:/导出文件的位置/xxx.sql /宿主机的位置 示例:docker cp bf4c4fff338c:/root/ ...

  10. Linux系统在IT行业处于什么位置

    相信每一位程序员对于linux都不陌生,不管是新入行的小白,还是有着十几年编程经验的大佬,都知道Linux在IT行业中的位置吧! 我是一名Web   JAVA开发的小白,对于初入IT行业的小白来说,工 ...