python读取csv文件的路径(怎么用python读取csv文件)

http://www.itjxue.com  2023-03-25 02:34  来源:未知  点击次数: 

怎么用python读取csv数据

这两天刚好看到,Python CookBook上有说到。这里是三种读取csv的方法。

文件格式是这样的

Region,DATE_,RAW_ACU

zh_ch,Jan 27 2017,208172

import?csv

from?collections?import?namedtuple

#?with?open('data.csv')?as?f:

#?????f_csv?=?csv.reader(f)

#?????headers?=?next(f_csv)

#?????for?row?in?f_csv:

#?????????#?print(row)

#?????????print(row[0],?row[1])

#?with?open('data.csv',?encoding='utf-8-sig')?as?f:

#?????f_csv?=?csv.reader(f)

#?????headers?=?next(f_csv)

#?????print(headers)

#?????Row?=?namedtuple('Row',?headers)

#?????for?r?in?f_csv:

#?????????row?=?Row(*r)

#?????????print(row.Region,?row.DATE_)

with?open('data.csv',?encoding='utf-8-sig')?as?f:

????f_csv?=?csv.DictReader(f)

????for?row?in?f_csv:

????????print(row['DATE_'],?row)

具体可以看这个文档。。

python保存csv文件到桌面

python保存csv文件到桌面:

1、虽然python中有内置模块能够操作csv文件,不过pandas这个第三方库在处理速度和代码编写方面都是优于内置模块了,同时也需要将os模块导入进来判断一下保存csv文件的路径是否存在或者有同名文件。

2、模块导入完成之后要用变量来保存csv文件路径了,然后定义两个空集合,作用是保存列数据,再使用listdir()方法将文件路径里面的所有文件和文件夹都获取到并用for循环迭代。

3、在for循环代码块里面向一个列表对象内添加文件名,然后定义一个参数并赋值为aa,然后将这个变量添加到另一个列表中,循环迭代完毕之后这两个列表内就有数据了。

4、调用zip()函数将这两个列表合并在一起并且使用list()方法再次转为列表,然后用pandas库中的DataFrame()方法将data参数表示的数据源设置为该列表对象,并指定两个列名,最后用to_csv()方法将其保存起来即可。

python中怎么读取csv文件

Python读取CSV文件方法如下:

如下是一个CVS文件

使用Python打开CSV可以直接使用open函数打开,然后使用reader函数读取内容,实现代码如下:

运行结果如下:

更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于python中怎么读取csv文件的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!

怎么用python3.5.1读取CSV文件

假设csv文件地址为:E:\test.csv,则

f=open('E:\\test.csv')

lines=f.readlines() #lines就是csv读出的表格了

python读取csv文件报错position4

一、文件路径报错

因为在python之中文件路径都是以字符串类型出现的,所以在字符串对象的编写语法本身没有错误时,那么出现报错的唯一原因就是这个文件路径找不到文件。这种问题主要经常出现在已经发布部署到服务器上的python程序,因为在开发时很多时候都是用绝对路径来读取文件的,环境改变之后从磁盘根目录读取的绝对路径就是无法使用了。

二、解决方法

那么正确的做事实际上就是先导入os模块,然后调用getcwd()方法查看当前python程序,也就是py脚本文件处在哪个文件路径之中,代码示例如下所示:

import os

os.getcwd()

print(os.getcwd())

然后再打开文件夹查看一下所要读取的csv文件在哪个文件目录,然后在文件资源管理器内打开csv文件所在的文件目录并将其复制后粘贴到python文件所在的同级目录下,接下来就可以使用绝对不会出错的相对路径来读取该csv文件了。只需要写上csv文件的名称就可以来将其在python程序内打开并读取,代码示例如下所示:

import pandas as pd

train = pd.read_csv

请教PYTHON读取CSV文件方法

#!/usr/bin/python

#?-*-?coding:?UTF-8??-*-

from?Log?import?Loginfo

import?cgi,?os,?csv,?sys,?re

reload(sys)

sys.setdefaultencoding('utf8')

print?"Content-Type:?text/html?charset=utf-8?\n"

fileitem?=?''

def?get_cgi_file():

????''''''

????global?fileitem,device_id,maxDeviceID,maxDriverID,channelid,ChannelDeviceType

????form?=?cgi.FieldStorage()

????#?获取文件名

????fileitem?=?form['filename1']

????#?检测文件是否上传

????if?fileitem.filename:

????????#?去掉文件路径,获取文件名称

????????fn?=?os.path.basename(fileitem.filename)

????????open(global_var.uploadfile_path,?'wb').write(fileitem.file.read())

????????#message?=?'文件"'?+?fn?+?'"?上传成功!'

????????#print?message

????else:

????????message?=?'没有文件上传!'

????????print?message

def?convert_gbk2utf8():

????data_list?=?[]

????fd?=?open(global_var.uploadfile_path,?'rb')

????csvfd?=?csv.reader(fd)

????for?c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14?in?csvfd:

????????c1_u?=?c1.decode('gb2312').encode('utf-8')

????????c2_u?=?c2.decode('gb2312').encode('utf-8')

????????c3_u?=?c3.decode('gb2312').encode('utf-8')

????????c4_u?=?c4.decode('gb2312').encode('utf-8')

????????c4_u?=?c4.decode('gb2312').encode('utf-8')

????????c5_u?=?c5.decode('gb2312').encode('utf-8')

????????c6_u?=?c6.decode('gb2312').encode('utf-8')

????????c7_u?=?c7.decode('gb2312').encode('utf-8')

????????c8_u?=?c8.decode('gb2312').encode('utf-8')

????????c9_u?=?c9.decode('gb2312').encode('utf-8')

????????c10_u?=?c10.decode('gb2312').encode('utf-8')

????????c11_u?=?c11.decode('gb2312').encode('utf-8')

????????c12_u?=?c12.decode('gb2312').encode('utf-8')

????????c13_u?=?c13.decode('gb2312').encode('utf-8')

????????c14_u?=?c14.decode('gb2312').encode('utf-8')

????????data_row_list?=?[c1_u,c2_u,c3_u,c4_u,c5_u,c6_u,c7_u,c8_u,c9_u,c10_u,c11_u,c12_u,c13_u,c14_u]

????????data_list.append(data_row_list)

????fd.close()

????#log.write_debug(data_list)

????return?data_list

def?analy_csv_file(data_list):

????for?rownum?in?range(len(data_list)):

????????????if?rownum?==?0:

????????????????attrib?=?data_list[rownum]

????????????else:

????????????????for?i?in?range(len(attrib)):

????????????????????#这里循环取数据,依据是列名

????????????????????if?attrib[i]?==?'你的列名':

????????????????????????print?data_list[rownum][i]

if?__name__?==?'__main__':

????log?=?Loginfo.Loginfo()

????get_cgi_file()

????try:

????????data_list?=?convert_gbk2utf8()

????except?Exception?as?e:

????????print("正在导入的表格列数不对,请检查!")

????????deleteDevice()

删了一些函数,这样应该可以看得懂吧,c14_u是列,有多少列就多少个,这是转换编码。analy_csv_file(data_list)里面对拿到的文件做处理

(责任编辑:IT教学网)

更多

推荐免费资源文章