python操作csv文件
⑴ python中怎樣讀取csv文件內容
和普通文件一樣讀取。csv中文件數據項有回逗號劃分開。答
12345infile = open("data.csv", 'r') for line in infile: data = line.rstrip().split(',') print(data)
⑵ Python怎麼把輸出整體寫入CSV文件
在試了n多方案 ironpython, eric, winpdb, pyscripter, ipython之後, 選擇了一個超級簡單的方案: code, telnetlib, 然後問題就解決了.
⑶ 用python對csv文件進行數據處理
importcsv
withopen('1.csv','r')ascsvfile:
data=csvfile.readlines()
total={}
fordindata:
_,k,v=d.split(',')
iftotal.get(k)!=None:
total[k]+=int(v)
else:
total[k]=int(v)
fork,vintotal.items():
print(k,' ',v)
⑷ 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
⑸ python中怎麼處理csv文件
什麼是CSV
就是內容用逗號隔開,後綴是『.csv』的文件。它可以被任何一個文本編輯器打開。如果用excel打開,它又可以是這樣的:
END
讀CSV
典型的可處理的csv文件,通常含有表頭,也就是每列的列名。這樣一來,每一行的內容就可以被當作是以表頭為key的字典。於是可以使用csv定義的類:
class csv.DictReader(csvfile, fieldnames=None, restkey=None, restval=None, dialect='excel', *args, **kwds)
下面是官方的例子(Python 3)。我們看到,對於csv文件的內容,我們可以通過相應的tag,也就是字典的key來讀取。
在實際使用過程中,為了分離代碼和方便閱讀,可以先把讀取的內容轉存到列表,隨後再根據各個key進行分開處理(針對多列的情況)。
END
寫CSV
同樣的,寫入的也是列表。使用的類:
class csv.DictWriter(csvfile, fieldnames, restval='', extrasaction='raise', dialect='excel', *args, **kwds)
官方例子:我們看到,有專門的函數來寫入表頭,沒有表頭數據是無法對應的。需要注意的是,對於下列語句,『w』需要修改為『wb』,否則每次寫入會有多餘空行
with open('names.csv', 'wb') as csvfile
⑹ 請教PYTHON讀取CSV文件方法
#!/usr/bin/python
#-*-coding:UTF-8-*-
fromLogimportLoginfo
importcgi,os,csv,sys,re
reload(sys)
sys.setdefaultencoding('utf8')
print"Content-Type:text/htmlcharset=utf-8 "
fileitem=''
defget_cgi_file():
''''''
globalfileitem,device_id,maxDeviceID,maxDriverID,channelid,ChannelDeviceType
form=cgi.FieldStorage()
#獲取文件名
fileitem=form['filename1']
#檢測文件是否上傳
iffileitem.filename:
#去掉文件路徑,獲取文件名稱
fn=os.path.basename(fileitem.filename)
open(global_var.uploadfile_path,'wb').write(fileitem.file.read())
#message='文件"'+fn+'"上傳成功!'
#printmessage
else:
message='沒有文件上傳!'
printmessage
defconvert_gbk2utf8():
data_list=[]
fd=open(global_var.uploadfile_path,'rb')
csvfd=csv.reader(fd)
forc1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14incsvfd:
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)
returndata_list
defanaly_csv_file(data_list):
forrownuminrange(len(data_list)):
ifrownum==0:
attrib=data_list[rownum]
else:
foriinrange(len(attrib)):
#這里循環取數據,依據是列名
ifattrib[i]=='你的列名':
printdata_list[rownum][i]
if__name__=='__main__':
log=Loginfo.Loginfo()
get_cgi_file()
try:
data_list=convert_gbk2utf8()
exceptExceptionase:
print("正在導入的表格列數不對,請檢查!")
deleteDevice()
刪了一些函數,這樣應該可以看得懂吧,c14_u是列,有多少列就多少個,這是轉換編碼。analy_csv_file(data_list)裡面對拿到的文件做處理
⑺ python如何讀取CSV文件一部分數據
import pandas as pd #一般來說直接用pandas這個庫
import os
os.getcwd()#當前工作路徑,即get current work directory
os.chdir("D:/")#改變到你要讀取以及保存數據的工作路徑,即change directory
data = pd.read_csv("data.csv")#讀取數據
⑻ 利用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文件 名字是一二三排下來