python 数据处理 对csv文件进行数据处理
数据如下图:

用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文件进行数据处理的更多相关文章
- python在处理CSV文件时,字符串和列表写入的区别
概述 Python在处理CSV文件时,如果writerow的对象是<type 'unicode'>字符串时,写入到CSV文件时将会出现一个字符占一个单元格的情况: 但是将字符串转换为列表类 ...
- python中操作csv文件
python中操作csv文件 读取csv improt csv f = csv.reader(open("文件路径","r")) for i in f: pri ...
- python 数据处理 对txt文件进行数据处理
数据: 对txt文件进行数据处理: txt_file_path = "basic_info.txt" write_txt_file_path = "basic_info1 ...
- [Python]-pandas模块-CSV文件读写
Pandas 即Python Data Analysis Library,是为了解决数据分析而创建的第三方工具,它不仅提供了丰富的数据模型,而且支持多种文件格式处理,包括CSV.HDF5.HTML 等 ...
- Python: 对CSV文件读写 和 Md5加密
1. python 有专门的csv包,直接导入即可. import csv: 2. 直接使用普通文件的open方法 csv_reader=open("e:/python/csv_data/l ...
- Python在向CSV文件写中文时乱码的处理办法
前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode.当list.tuple.dict里面有中文时,打印出来的是Unicode编码,这个是无解的.对中文 ...
- [Python Study Notes]csv文件操作
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- 【python】写csv文件时遇到的错误
1.错误 在许多文件中,写入csv文件时都加"wb",w指写入,b指二进制 如: csvwrite=csv.writer(open("output.csv",& ...
- Python中读取csv文件内容方法
gg 224@126.com 85 男 dd 123@126.com 52 女 fgf 125@126.com 23 女 csv文件内容如上图,首先导入csv包,调用csv中的方法reader()创建 ...
随机推荐
- WEB - JSONP
JSON with Padding参考 https://zh.wikipedia.org/wiki/JSONP http://www.runoob.com/json/json-jsonp.html 使 ...
- jqgrid自适应宽度
https://blog.csdn.net/duzhanxiaosa/article/details/78922660
- Ubuntu中安装pycharm
1.首先在官网上下载pycharm 2.下载完成后解压,进入到解压文件夹里的bin,找到pycharm.sh 3.使用终端启动:sh pycharm.sh 4.关于破解: 通过命令打开hosts:cd ...
- js学习:函数
概述 函数的声明 JavaScript 有三种声明函数的方法 function 命令 function命令声明的代码区块,就是一个函数.function命令后面是函数名,函数名后面是一对圆括号,里面是 ...
- 笔记-redis-订阅系统
笔记-redis-订阅系统 1. 发布/订阅pub/sub 1.1. 基本命令 PUBLISH channel message #将信息发送到指定的频道. SUBSCRIBE channe ...
- ipmitool命令
1.remote access control powerIpmitool -I lanplus -H 192.168.0.10 -U username -P Password chassis pow ...
- Struts配置文件报错"元素类型为 "package" 的内容必须匹配"
报错信息 元素类型为 "package" 的内容必须匹配 "(result-types?,interceptors?,default-interceptor-ref?,d ...
- GO常量/枚举
常量中的数据类型只可以是布尔型.数字型(整数型.浮点型和复数)和字符串型. 常量的定义格式: const identifier [type] = value 你可以省略类型说明符 [type],因为编 ...
- 【转】Docker学习_本地/容器文件互传(5)
将容器内文件拷贝到宿主机 docker cp <containerId>:/导出文件的位置/xxx.sql /宿主机的位置 示例:docker cp bf4c4fff338c:/root/ ...
- Linux系统在IT行业处于什么位置
相信每一位程序员对于linux都不陌生,不管是新入行的小白,还是有着十几年编程经验的大佬,都知道Linux在IT行业中的位置吧! 我是一名Web JAVA开发的小白,对于初入IT行业的小白来说,工 ...