python读取csv文件的方法-Python 3.x读写csv文件中数字的方法示例-程序员宅基地

前言

本文主要给大家介绍了关于Python3.x读写csv文件中数字的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

读写csv文件

读文件时先产生str的列表,把最后的换行符删掉;然后一个个str转换成int

## 读写csv文件

csv_file = 'datas.csv'

csv = open(csv_file,'w')

for i in range(1,20):

csv.write(str(i) + ',')

if i % 10 == 0:

csv.write(' ')

csv.close()

result = []

with open(csv_file,'r') as f:

for line in f:

linelist = line.split(',')

linelist.pop()# delete:

for index,item in enumerate(linelist):

result.append(int(item))

print(' Result is ',result)

输出:

Result is

[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]

检查目录是否存在

若目标目录不存在,则新建一个目录

import os

json_dir = "../dir_json/2017-04/"

if not os.path.exists(json_dir):

print("json dir not found")

os.makedirs(json_dir)

print("Create dir " + json_dir)

写文件时指定格式

参考下面的代码,打开文件时指定utf8,转换成json时指定ensure_ascii=False

import json

json_file = open(json_dir + id + '.json','w',encoding='utf8')

json_file.write(json.dumps(data_dict,ensure_ascii=False))

避免写成的json文件乱码

函数 enumerate(iterable,start=0)

返回一个enumerate对象。iterable必须是一个句子,迭代器或者支持迭代的对象。

enumerate示例1:

>>> data = [1,3]

>>> for i,item in enumerate(data):

print(i,item)

0 1

1 2

2 3

示例2:

>>> line = 'one'

>>> for i,item in enumerate(line,4):

print(i,item)

4 o

5 n

6 e

class int(x=0)

class int(x,base=10)

返回一个Integer对象。对于浮点数,会截取成整数。

>>> print(int('-100'),int('0'),int('3'))

-100 0 3

>>> int(7788)

7788

>>> int(7.98)

7

>>> int('2.33')

Traceback (most recent call last):

File "",line 1,in

int('2.33')

ValueError: invalid literal for int() with base 10: '2.33'

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37988176/article/details/109413361

智能推荐

局域网内Ubuntu16和Ubuntu18离线安装ntp并部署ntp服务器及同步客户端时间_ubuntu ntp 离线安装-程序员宅基地

文章浏览阅读3.5k次,点赞3次,收藏11次。局域网内Ubuntu16和Ubuntu18离线安装ntp 并部署 ntp 服务器及同步客户端时间_ubuntu ntp 离线安装

EntityFramwork 相关概念_entity framwork-程序员宅基地

文章浏览阅读291次。ORM: Object Relational Mapping 关系对象映射Entity Framework:微软官方提供的ORM工具,将数据存储从域对象自动映射到关系型数据库的工具EF5由两部分组成,EF api和.net framework 4.0/4.5,而EF6是独立的EntityFramework.dll,不依赖.net Framework。使用NuGet即可安装EF。 E..._entity framwork

【运维有小邓】AD域文件权限管理_ad添加本地管理员权限-程序员宅基地

文章浏览阅读1k次。DManager Plus还内置了有关NTFS权限的报表。服务器中的共享、文件夹的权限、可访问文件夹的账户以及不可继承文件夹等方面的报表。这些报表让您可立即全面地了解访问控制信息,所以对管理员很有用。..._ad添加本地管理员权限

CTF基础知识及web_ctf web-程序员宅基地

文章浏览阅读7.3k次,点赞13次,收藏175次。提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录CTF基础知识一、CTF简介二、CTF赛事介绍三、CTF竞赛模式1.解题模式(Jeopardy)2.攻防模式(Attack-Defense)3.混合模式(Mix)四、CTF竞赛内容国内外著名赛事1、国际知名CTF赛事2、国内知名CTF赛事五、如何学习CTF1、分析赛题2、常规操作3、入门知识推荐书籍CTF基础知识一、CTF简介CTF(Capture The Flag)夺旗比赛,在网络安全领域中指的是网络安全技术人员之间进行._ctf web

Udacity Self-Driving Car Simulator Introduction_udacity self driving car sim ros-程序员宅基地

文章浏览阅读725次。Introduction to Udacity Self-Driving Car SimulatorUdacity recently made its self-driving car simulator source code available on their GitHub which was originally built to teach their Self-Drivin..._udacity self driving car sim ros

python res函数_python函数-程序员宅基地

文章浏览阅读6k次。函数定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可函数特性:def my_sum(x,y): #定义函数名res = x+yreturn res #返回函数执行结果c = my_sum(4,5) #结果赋值给c变量print(c)减少重复代码使程序变的可扩展使程序变得易维护函数参数形参即变量名就是函数定义阶段的参数,实参即变量值就是函数调用阶..._python res

随便推点

高校合并潮,来了?-程序员宅基地

文章浏览阅读290次。大学合并,一直以来都是高教圈内为人津津乐道的热门话题之一;许多知名院校的建立都是由诸多大学合并组建而成。而近年来,大学合并的成功案例越来越多,山东省,辽宁省等多个省份都陆续出台了地方高校合并的新政策,可以说新一轮的高校合并潮很可能已经来临!一、高校合并潮以上为文文根据网络公开资料整理的不完全统计名单,由此可见近年来几乎每年都会有超过一所大学加入大学合并的浪潮中来!当然合并的浪潮肯定也离不开地方性政..._郑州大学为什么要合并河南医科大学和郑州工业大学

阿里云搭建nginx_阿里云 自建nginx-程序员宅基地

文章浏览阅读1.4k次。一.安装gcc插件查看gcc:gcc -v [root@yu /]# gcc -v -bash: gcc: command not found yum -y install gccyum install -y pcre pcre-develyum install -y zlib zlib-develyum install -y openssl openssl-devel------------------------------------------[root@yu /]# gcc -v_阿里云 自建nginx

Python解决AttributeError: module ‘matplotlib‘ has no attribute ‘get_data_path‘问题_module 'matplotlib' has no attribute 'get_data_pat-程序员宅基地

文章浏览阅读1.3w次,点赞7次,收藏3次。当import matplotlib.pyplot as plt时,报错显示AttributeError: module 'matplotlib' has no attribute 'get_data_path'检查了一下目前matplotlib的版本是3.4.3,出现包导入错误可能是系统或package升级的原因,多尝试一下降低package的版本就好。试了一下3.3.1 和3.3.4版本,最后3.3.4版本可以完美解决上述报错~..._module 'matplotlib' has no attribute 'get_data_path

Supermap/Cesium 开发心得----动态散点图(波纹点/涟漪点)-程序员宅基地

文章浏览阅读1.6k次。在二维开发中,openlayers4 入门开发系列结合 echarts4 实现散点图,下图是GIS之家的效果图,那么在三维中,则可借助Entity来变相构造下图的效果。思路:构造实体ellipse,造一个用作实心中心区域的表征位置,再造两个圆,控制他们的半径动态变化,然后轮回播放,这其中涉及的是Cesium.CallbackProperty Cesium.Image..._cesium加载涟漪图

onlyoffice 回调传参数_onlyOffice 开发相关 总结-程序员宅基地

文章浏览阅读977次。onlyOffice 服务端 客户端 相关开发整理功能:所有客户端都可用云端部署服务查看 预览 doc ppt excel编辑权限控制开发技术准备用户服务器端 提供保存接口用户浏览器端 提供生成文件 key 标示(刷新后重新生成)安装server 端docker pull onlyoffice/documentserverdoc:ports:- 8686:80/tcptty: trueimage..._onlyoffice callbackurl

java 两个时间相减_java两个时间相减得到分钟-程序员宅基地

文章浏览阅读5.6k次,点赞3次,收藏4次。废话不多说: DateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"); try { Dated1=df.parse("2018-03-2613:31:40"); Dated2=df.parse("2018-01-0211:30:24");..._java两个时间相减得到分钟