❶ python csv模塊(讀寫文件)
CSV文件又稱為逗號分隔值文件,是一種通用的、相對簡單的文件格式,用以存儲表格數據,包括數字或者字元。CSV是電子表格和資料庫中最常見的輸入、輸出文件格式。
通過爬蟲將數據抓取的下來,然後把數據保存在文件,或者資料庫中,這個過程稱為數據的持久化存儲。本節介紹Python內置模塊CSV的讀寫操作。
1)csv.writer()
csv模塊中的writer類可用於讀寫序列化的數據,其語法格式如下:
參數說明:
csvfile:必須是支持迭代(Iterator)的對象,可以是文件(file)對象或者列表(list)對象。
dialect:編碼風格,默認為excel的風格,也就是使用逗號,分隔。
fmtparam:格式化參數,用來覆蓋之前dialect對象指定的編碼風格。
如果想同時寫入多行數據,需要使用writerrows()方法,代碼如下所示:
aggs.csv文件內容:
2)csv.DictWriter()
當然也可使用DictWriter類以字典的形式讀寫數據,使用示例如下:
name.csv文件內容,如下所示:
1)csv,reader()
csv模塊中的reader類和DictReader類用於讀取文件中的數據,其中reader()語法格式如下:
2)csv.DictReader()
應用示例如下:
輸出結果:
開課吧廣場-人才學習交流平台
❷ 如何用python將內容換行輸出
#改成這句:
f.write(" ".join(list1))
❸ 如何用python處理csv文件
使用csv模塊處理:
import csv
reader = csv.reader(open("samples/sample.csv"))
for title, year, director in reader:
print year, title
❹ Python之csv模塊
csv文件具有格式簡單,快速存取,兼容性好等特點,工程、金融、商業等很多數據文件都是採用csv文件保存和處理。工作中數據處理也用到了csv,簡要總結下使用經驗,特別是那些由於本地兼容性導致的與官方文檔的差異使用。
csv(comma Seperated Values)文件的格式非常簡單,類似一個文本文檔,每一行保存一條數據,同一行中的各個數據通常採用逗號(或tab)分隔。
python自帶了csv模塊,專門用於處理csv文件的讀取和存檔。
csv模塊中,主要由兩種方式存取csv文件:函數方法;類方法。
csv.reader(csvfile,dialect ='excel',** fmtparams)
返回一個reader對象,它將迭代給定csvfile中的行。
csvfile可以是任何支持迭代器協議的對象,並在每次next()調用其方法時返回一個字元串- 文件對象和列表對象都是合適的。如果csvfile是一個文件對象,那麼它必須在平台上以「b」標志打開,這會產生影響。可以給出可選的 dialect 參數,該參數用於定義特定於CSV方言的一組參數。它可以是類的子類的實例,也可以是函數Dialect返回的字元串之一 list_dialects()。其他可選的fmtparams可以給出關鍵字參數來覆蓋當前方言中的各個格式參數。
csv.writer(csvfile,dialect ='excel',** fmtparams)
返回一個編寫器對象,負責將用戶的數據轉換為給定的類文件對象上的分隔字元串。
csvfile可以是帶有write()方法的任何對象 。如果csvfile是一個文件對象,那麼它必須在平台上以「b」標志打開,這會產生影響。 可以給出可選的dialect參數,該參數用於定義特定於CSV方言的一組參數。它可以是類的子類的實例,也可以是函數Dialect返回的字元串之一 list_dialects()。可以給出其他可選的fmtparams關鍵字參數來覆蓋當前dialect中的各個格式參數。
class csv.DictReader(f,fieldnames = None,restkey = None,restval = None,dialect ='excel',* args,** kwds)
創建一個像常規閱讀器一樣操作的對象,但將讀取的信息映射到一個dict,其鍵由可選的 fieldnames 參數給出。 欄位名 的參數是一個序列,其元素與輸入數據的順序中的欄位相關聯。這些元素成為結果字典的關鍵。如果省略 fieldnames 參數,則文件 f 的第一行中的 值 將用作欄位名。如果讀取的行包含的欄位多於欄位名序列,則將剩餘數據添加 為由restkey 值鍵入的序列。如果讀取的行的欄位數少於欄位名序列,則其餘的鍵將採用可選的 restval 參數的值。任何其他可選或關鍵字參數都將傳遞給基礎 reader 實例。
class csv.DictWriter(f,fieldnames,restval ='',extrasaction ='raise',dialect ='excel',* args,** kwds)
創建一個像常規編寫器一樣操作的對象,但將字典映射到輸出行。的欄位名的參數是一個序列識別在哪些值在傳遞給字典中的順序按鍵的writerow()方法被寫入到文件˚F。如果字典缺少欄位名中的鍵,則可選的restval參數指定要寫入的值。如果傳遞給方法的字典包含在欄位名中找不到的鍵,則可選的extrasaction參數指示要採取的操作。如果設置為a 則被提升。如果設置為writerow()'raise'ValueError'ignore',字典中的額外值將被忽略。任何其他可選或關鍵字參數都將傳遞給基礎 writer實例。
請注意,與DictReader類不同,它的fieldnames參數DictWriter不是可選的。由於Python的dict 對象沒有排序,因此沒有足夠的信息來推斷應該將行寫入文件f的順序。
❺ 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文件(csv使用分隔符分割值的文件)
操作方法如下:
1,使用讀寫追加的方式打開csv文件。
2,找到csv文件的結尾。
3,在結尾使用和之前csv使用的分割相同的格式進行數據添加。
4,關閉文件