1. 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
2. 怎么将Python的运行结果导出为csv格式
将 list 或 numpy.narray 类型的数据导出为csv文件(同理可扩展到导出为excel,即写入的文件格式为xls,且最后使用to_excel()方法)
3. tsv数据 python怎么读取
reader = csv.reader(open('E:/BigData/tianchi_mobile_recommend_train_user.csv','r+'))
\t是制表符,直接用/代表\避免 出现 "\t" "\n"这样的转 义符
4. python中使用pandas中的to_csv,没有显示报错,但是在实际的文档里找不到存储的csv文件,这是怎么回事
换更简短的文件名测试(不带目录,在当前路径下)
换更简单的数据测试(直接替换为临时创建的数据)。
5. python用dataframe的to_csv方法写入到CSV文件,如果是数据列,以0开头的时候CSV文件里面不显示
修改csv列格式没用,保存不了,下次打开还是原样,如果带零列的数据类型是数值,需要将其转换成字符串类型:df['带零列']=df['带零列'].astype(str)
还是不行的话,这就是打开csv的工具的原因了,你很有可能是用Excel打开的csv文件,其实质还是字符串,如果你用Notepad++或者记事本打开,显示就是带0的。
如果想还是用Excel打开,看到带0的,可以这样解决:df['带零列']='\t'+df['带零列'],即在字符串前加个横向制表符,这样再用Excel打开就显示没问题了。
希望能帮到你。
6. 说说如何利用 Python 处理 CSV 文件
CSV 表示 “Comma-Separated Values (逗号分隔的值) ” , CSV 文件是简化的电子表格,实际为纯文本文件。
一个 CSV 文件,格式是这样的:
因为 CSV 文件中的每个单元格都是以逗号分割,所以也许有人会对每行文本调用 split() 方法,来解析 CSV 文件。但 CSV 文件也有自己的转义字符,通过转义字符,允许逗号和其他字符作为值的一部分,但单纯使用 split() 方法不能处理这些转义字符。因为这些潜在的缺陷,所以建议总是使用 csv 模块来读写 CSV 文件。
csv 模块是 Python 自带的,所以可以直接导入。
要使用 csv 模块从 CSV 文件中读取数据,我们需要创建一个 Reader 对象。 通过 Reader 对象,我们可以迭代遍历 CSV 文件中的每一行内容。
运行结果:
要用 csv 模块读取 CSV 文件,首先先使用 open() 函数打开它 ,就像打开任何其他文本文件一样。然后将它传递给 csv .reader() 函数。 这个函数将返回一个 Reader 对象。注意,csv .reader() 函数不接受文件名作为入参。
要访问 Reader 对象中的值,最直接的方法,就是利用 list() 将它转换成一个普通 Python 列表。它实际为一个包含列表的列表,用于表示二维数据。
我们还可以使用表达式 data [ row ][ col ] 来访问 CSV 中特定行和列的值。其中, row 是 data 中一个列表的下标, col 是该列表中,我们想访问的项的下标:
运行结果:
运行结果:
Writer 对象可以让我们把数据写入 CSV 文件。
运行结果:
在 Windows 上,需要为 open() 函数的 newline 关键字参数传入一个空字符串。如果没有设置 newline 参数, output.csv 中的行距将变为两倍,如下图所示。
如果写入的内容包含逗号,那么 csv 模块会自动加上双引号,对其进行转义,如下例所示。
运行结果:
我们也可以利用 delimiter ,来制作 TSV 文件,TSV 是Tab-separated values的缩写,即以制表符作为分隔符的文件;利用 lineterminator 参数来设定行距。
运行结果:
这里利用 lineterminator='\n\n\n' 将行与行之间的字符变为三个换行符,效果就是实现了 3 倍行距。
7. 如何用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
8. 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参数即可),但是代码内部比较复杂,可控性较差
9. python tsv文件转换成csv文件怎么转换求程序
用python怎么读取csv文件中的中文如果可以识别TXT文件,就可以修改扩展名txt,就可以打开。
10. python中用to_csv()储存数据为什么只能存储到一条数据
这段循环逻辑有问题, 因为最后的2行代码都在循环体里面,这导致了每次to_csv只导出一条数据。最后程序运行完之后,csv文件里的最终结果只是最后一条数据而已。
而且这段程序过于繁杂了,有很多多余的计算,当数据多的时候会有性能问题。可以用下面的方法, 要更简洁。
#直接把profile(也就是result字段里的内容)放进DataFrame参数里面
#然后在把需要的字段过滤一下,这样就可以1行代码解决你的问题了,当然下面的为了让代码更易读,我分成了3行。
profile=responer.json()(['content']['positionTrsult']['result'])
profileColumns=['positionName','city','ecation','workYear']
f=pd.DataFrame(profile,columns=profileColumns)
#pandas在很多操作的时候,能得到我们想象中的结果,所以多试试,会有很多惊喜的~
然后看你是刚用pandas(我也是刚学习pandas),给你一个建议, 就是涉及到pandas的操作就【尽量】不要用循环,这对以后处理大量数据的时候会产生非常大的性能问题的。我用循环处理10W+的数据的时候等了十分钟都没有得出结果来。。。CPU是8700k,内存32G都不行...