python写入csv中文
‘壹’ python 写 csv 中文怎么处理
csv中文用gbk encode下,在window下就不会是乱码了
‘贰’ 利用Python如何将数据写到CSV文件中
如果你的数据是列表格式,可以使用一个迭代器,将数据写入文件,同时添加必要的分隔符以构成csv文件
如果数据是字典格式,需要考虑使用换行符或者其他特殊符号来分割每个字典元素(包括键和值)。键和值可以考虑使用和之前不重复的分隔符进行分割。
这样就构成了一个csv文件(csv使用分隔符分割值的文件)
操作方法如下:
1,使用读写追加的方式打开csv文件。
2,找到csv文件的结尾。
3,在结尾使用和之前csv使用的分割相同的格式进行数据添加。
4,关闭文件
‘叁’ csv文件怎么打开 使用Python读取和写入CSV文件
csv文件本质上是一个文本文件,具体的读取和写入方法有两种:
直接对csv文件进行文件读写操作,每一行是一条记录,按行读取即可,简单代码如下:
with open("XXX.csv","wr") as f:
f.readline()
f.write()
2.使用第三方库中的csv文件读写函数(本质上还是使用python的文件读写方法),如科学计算包pandas包中就有read_csv() to_csv()等函数,其他的一些第三方包里也有,可以自行查询。
两种方法各有优劣,第一种方法的优点就是可控性强,但是代码相对较多,对于python2编码处理很麻烦;第二种方法的优点是代码量小,调用方便,处理编码问题相对容易(在函数中加一个encoding参数即可),但是代码内部比较复杂,可控性较差
‘肆’ python怎么写入csv文件
import pandas as pd#任意的多组列表a = [1,2,3]
b = [4,5,6]
#字典中的key值即为csv中列名dataframe = pd.DataFrame({'a_name':a,'b_name':b})#将DataFrame存储为csv,index表示是否显示行名,default=Truedataframe.to_csv("test.csv",index=False,sep='')1234567891011
a_name b_name0 1 41 2 52 3 61234
同样pandas也提供简单的读csv方法
import pandas as pddata = pd.read_csv('test.csv')12
会得到一个DataFrame类型的data,不熟悉处理方法可以参考pandas十分钟入门
另一种方法用csv包,一行一行写入
import csv
#python2可以用file替代open
with open("test.csv","w") as csvfile:
writer = csv.writer(csvfile)
#先写入columns_name
writer.writerow(["index","a_name","b_name"])
#写入多行用writerows
writer.writerows([[0,1,3],[1,2,3],[2,3,4]])12345678910
index a_name b_name0 1 31 2 32 3 41234
读取csv文件用reader
import csvwith open("test.csv","r") as csvfile:
reader = csv.reader(csvfile) #这里不需要readlines
for line in reader:
print line
‘伍’ python3中使用使用read_csv( )读取csv文件,文件路径中含有中文,怎么处理
最顶上这样写:
#!/usr/bin/env python
# coding: utf-8还有文件名的引号前加u
‘陆’ 如何用python的pandas包的to_csv方法将中文输出到csv文件中
文本内容如下:
12-06 14:50:23.600: I/ActivityManager(605): Displayed com.suning.numberlocation/.NumberLocationActivity: +125ms
12-06 14:50:52.581: I/ActivityManager(605): Displayed com.suning.numberlocation/.NumberLocationActivity: +126ms
12-06 14:51:21.391: I/ActivityManager(605): Displayed com.suning.numberlocation/.NumberLocationActivity: +108ms
12-06 14:51:50.652: I/ActivityManager(605): Displayed com.suning.numberlocation/.NumberLocationActivity: +121ms
想使用python截取每一行中的特定数据,然后把它们写入到csv文件中!
想截取每一行中的3段字符串 “numberlocation” “NumberLocationActivity” “125”
在CSV中看到的期待结果是(一行输出3段字符串):
numberlocation NumberLocationActivity 125
‘柒’ python中用pandas.read_csv读取含有中文的文件
python2下:
1234
# -*- coding: utf-8 -*- import pandas as pdmydata = pd.read_csv(u"例子.csv") #前面加u,第一行的编码必须utf-8
原本以为这一点python3和python2是一样的,其实不一样!
python3下:
1234567
# -*- coding: utf-8 -*- import pandas as pd#以下三种等价(也有可能不等),如果你一种不行换另一种吧mydata = pd.read_csv(u"例子.csv",encoding = "gbk")mydata = pd.read_csv(u"例子.csv",encoding = "gb2312") mydata = pd.read_csv(u"例子.csv",encoding = "gb18030")
‘捌’ 如何用python将九九乘法表写入csv文件中
方法/步骤
首先创建一个csv_scripts.py文件来保存我们的脚本,如下面图中所示:
‘玖’ python读取csv文件时,数据内容含有中文,读取出错,怎么办
估计是乱码造成,需要在读取的py文件中指定编码格式:
在文件开头,设置成gbk格式import os,sys,re,csv
reload(sys)
sys.setdefaultencoding('gbk')
‘拾’ 如何用python 读写 csv
csv文件就是按逗号分隔的文本, 可以用python自带的读取文本的方式, 不过我推荐用pandas包, 读写都很方便
#coding=utf-8
#传统方式
#读
f1=open('1.csv','r').readlines()
result=map(lambdax:x.strip().split(','),f)
#写
f2=open('1.csv','w')
f2.write('whatyouwanttowrite')
#pandas方法
importpandasaspd
#读
result=pd.read_csv('1.csv')#result被转化为DataFrame对象
#写
#写的时候可以操作result这个DataFrame对象,类似excel的表格,十分方便
result[0,0]=1
result.to_csv('2.csv')#将修改后的DataFrame保存为一个新的csv或者你想替换1.csv也可以
粗略介绍了一点, 如果有不懂的, 请追问.