用python把list里的数据写入csv
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用python把list里的数据写入csv相关的知识,希望对你有一定的参考价值。
这样一个列表
[(u'apple ios', u'apple iOS', u'$400'),
(u'like new', u'5', u'$149'),
(u'apple iOS', u'apple iOS', u'$900'),
(u'excellent', u'6 Plus', u'$550'),
(u'like new', u'apple iOS', u'$279'),
(u'like new', u'4', u'$59')]
怎么写成csv呢,按列名是状态,状态,价格
(u'like new', u'5', u'$149'),
(u'apple iOS', u'apple iOS', u'$900'),
(u'excellent', u'6 Plus', u'$550'),
(u'like new', u'apple iOS', u'$279'),
(u'like new', u'4', u'$59')]
with open('data.csv', 'wb') as f:
for item in result:
line = ','.join(item) + '\\n'
f.write(line.encode('utf-8')) 参考技术A
最常用的一种方法,利用pandas包
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 6
同样pandas也提供简单的读csv方法,
import pandas as pddata = pd.read_csv('test.csv')12
会得到一个DataFrame类型的data。
另一种方法用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
http://jingyan.baidu.com/article/f0e83a259f33c722e4910163.html
用Python读取文件中的数字并加入list的问题
我的文件是txt格式(testdata.txt),文件里的数据是:
20 1
16
14
18
10
12
19
20
8
17
3
13
2
15
7
1
6
11
4
第一行两个数字,
然后我用代码
f = open('testdata.txt')
s = f.read()
print(s)
array = []
for line in s:
array.append(line)
print(array)
从文档中读取数据并且加入array,然而结果是这样的:['2', '0', ' ', '1', '\n', '1', '6', '\n', '1', '4', '\n', '1', '8', '\n', '1', '0', '\n', '1', '2', '\n', '1', '9', '\n', '2', '0', '\n', '8', '\n', '1', '7', '\n', '3', '\n', '1', '3', '\n', '2', '\n', '1', '5', '\n', '7', '\n', '1', '\n', '6', '\n', '1', '1', '\n', '4', '\n', '9', '\n']
也就是说它不但是一个数一个数读的(20被拆成了2和0),而且空格和换行符号都在里面。
我现在需要一个方式把这些数据按照每个整数添加到array里面,而且不能有空格和换行(因为我要用到每个数字的位置,如果中间有空格的话位置就改变了)
求大神给一个修改的建议或者正确的代码写法,小白在此谢谢谢谢谢谢谢过各位了QAQQQ
for line in open('testdata.txt'):
array.extend(line.strip().split(' '))
array = map(int, array)
print(array)追问
谢谢帮助!!!!QAQ但是似乎还是有点问题,我现在的情况是,print出来之后显示这个:
请问这个是什么意思呢QAQ
哦 ,只是一个类型问题而已,你改成
print(list(array))
就可以了。
嗷嗷嗷嗷嗷嗷啊大神啊 给我一个签名吧QWQ!!!!!!!
本回答被提问者和网友采纳以上是关于用python把list里的数据写入csv的主要内容,如果未能解决你的问题,请参考以下文章