欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python讀取與寫入csv格式文件的示例代碼

 更新時(shí)間:2017年12月16日 10:54:23   作者:暴走小飛鼠  
本篇文章主要介紹了python讀取與寫入csv格式文件的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

在數(shù)據(jù)分析中經(jīng)常需要從csv格式的文件中存取數(shù)據(jù)以及將數(shù)據(jù)寫書到csv文件中。將csv文件中的數(shù)據(jù)直接讀取為 dict 類型和 DataFrame 是非常方便也很省事的一種做法,以下代碼以鳶尾花數(shù)據(jù)為例。

csv文件讀取為dict

代碼

 # -*- coding: utf-8 -*-
import csv
with open('E:/iris.csv') as csvfile:
reader = csv.DictReader(csvfile, fieldnames=None) # fieldnames默認(rèn)為None,如果所讀csv文件沒有表頭,則需要指定
list_1 = [e for e in reader] # 每行數(shù)據(jù)作為一個(gè)dict存入鏈表中
csvfile.close()
print list_1[0]

輸出

 {'Petal.Length': '1.4', 'Sepal.Length': '5.1', 'Petal.Width': '0.2', 'Sepal.Width': '3.5', 'Species': 'setosa'}

如果讀入的每條數(shù)據(jù)需要單獨(dú)處理且數(shù)據(jù)量較大,推薦逐條處理然后再放入。

 list_1 = list()
for e in reader:
 list_1.append(your_func(e)) # your_func為每條數(shù)據(jù)的處理函數(shù) 

多條類型為dict的數(shù)據(jù)寫入csv文件

代碼

 # 數(shù)據(jù)
data = [
{'Petal.Length': '1.4', 'Sepal.Length': '5.1', 'Petal.Width': '0.2', 'Sepal.Width': '3.5', 'Species': 'setosa'},
{'Petal.Length': '1.4', 'Sepal.Length': '4.9', 'Petal.Width': '0.2', 'Sepal.Width': '3', 'Species': 'setosa'},
{'Petal.Length': '1.3', 'Sepal.Length': '4.7', 'Petal.Width': '0.2', 'Sepal.Width': '3.2', 'Species': 'setosa'},
{'Petal.Length': '1.5', 'Sepal.Length': '4.6', 'Petal.Width': '0.2', 'Sepal.Width': '3.1', 'Species': 'setosa'}
]
# 表頭
header = ['Petal.Length', 'Sepal.Length', 'Petal.Width', 'Sepal.Width', 'Species']
print len(data)
with open('E:/dst.csv', 'wb') as dstfile: #寫入方式選擇wb,否則有空行
 writer = csv.DictWriter(dstfile, fieldnames=header)
 writer.writeheader() # 寫入表頭
 writer.writerows(data) # 批量寫入
dstfile.close()

上述代碼將數(shù)據(jù)整體寫入csv文件,如果數(shù)據(jù)量較多且想實(shí)時(shí)查看寫入了多少數(shù)據(jù)可以使用 writerows 函數(shù)。

讀取csv文件為DataFrame

代碼

 # 讀取csv文件為DataFrame
import pandas as pd
dframe = pd.DataFrame.from_csv('E:/iris.csv')

也可以稍微曲折點(diǎn):

import csv
import pandas as pd
with open('E:/iris.csv') as csvfile:
 reader = csv.DictReader(csvfile, fieldnames=None) # fieldnames默認(rèn)為None,如果所讀csv文件沒有表頭,則需要指定
 list_1 = [e for e in reader] # 每行數(shù)據(jù)作為一個(gè)dict存入鏈表中
csvfile.close()
dfrme = pd.DataFrame.from_records(list_1) 

從zip文件中讀取指定csv文件為DataFrame

dst.zip文件中包含有dst.csv和其它文件,現(xiàn)在在不解壓縮的情況下直接讀取dst.csv文件為DataFrame.

import pandas as pd
import zipfile
z_file = zipfile.ZipFile('E:/dst.zip')
dframe = pd.read_csv(z_file.open('dst.csv'))
z_file.close()
print dframe 

DataFrame寫入csv文件

dfrme.to_csv('E:/dst.csv', index=False) # 不要每行的編號(hào) 

讀取txt文件為DataFrame

import pandas as pd
# `path`為文件路徑或文件句柄,`header`文件第一行是否是表頭,`delimiter`每個(gè)字段的分隔符,`dtype`數(shù)據(jù)讀入后的存儲(chǔ)類型。
frame = pd.read_table(path, header=None, index_col=False, delimiter='\t', dtype=str)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實(shí)現(xiàn)密碼驗(yàn)證合格程序的思路詳解

    python實(shí)現(xiàn)密碼驗(yàn)證合格程序的思路詳解

    這篇文章主要介紹了python實(shí)現(xiàn)密碼驗(yàn)證合格程序的思路詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 淺談Python3.10 和 Python3.9 之間的差異

    淺談Python3.10 和 Python3.9 之間的差異

    多年來,Python 進(jìn)行了大量升級(jí),并且在新版本中添加了許多功能。本文就詳細(xì)的介紹 一下Python3.10 和 Python3.9差異,感興趣的朋友可以了解一下
    2021-09-09
  • centos下更新Python版本的步驟

    centos下更新Python版本的步驟

    安裝完CentOS5.9(Final)后,執(zhí)行#Python與#python -V,看到版本號(hào)是2.4.3,很老了,而且之前寫的都是跑在python3.X上面的,3.X和2.X有很多不同,有興趣的朋友可以參考下這篇文章
    2013-02-02
  • 把Anaconda中的環(huán)境導(dǎo)入到Pycharm里面的方法步驟

    把Anaconda中的環(huán)境導(dǎo)入到Pycharm里面的方法步驟

    這篇文章主要介紹了把Anaconda中的環(huán)境導(dǎo)入到Pycharm里面的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python開發(fā)游戲之井字游戲的實(shí)戰(zhàn)步驟

    Python開發(fā)游戲之井字游戲的實(shí)戰(zhàn)步驟

    最近正在學(xué)習(xí)Python,所以最近做了一個(gè)關(guān)于Python的實(shí)例,下面這篇文章主要給大家介紹了關(guān)于Python開發(fā)游戲之井字游戲的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • PyTorch 如何設(shè)置隨機(jī)數(shù)種子使結(jié)果可復(fù)現(xiàn)

    PyTorch 如何設(shè)置隨機(jī)數(shù)種子使結(jié)果可復(fù)現(xiàn)

    這篇文章主要介紹了PyTorch 設(shè)置隨機(jī)數(shù)種子使結(jié)果可復(fù)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • 三個(gè)python爬蟲項(xiàng)目實(shí)例代碼

    三個(gè)python爬蟲項(xiàng)目實(shí)例代碼

    這篇文章主要介紹了三個(gè)python爬蟲項(xiàng)目實(shí)例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python函數(shù)調(diào)用的幾種方式(類里面,類之間,類外面)

    Python函數(shù)調(diào)用的幾種方式(類里面,類之間,類外面)

    本文主要介紹了Python函數(shù)調(diào)用的幾種方式(類里面,類之間,類外面),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python3.6+opencv3.4實(shí)現(xiàn)鼠標(biāo)交互查看圖片像素

    python3.6+opencv3.4實(shí)現(xiàn)鼠標(biāo)交互查看圖片像素

    這篇文章主要為大家詳細(xì)介紹了python3.6+opencv3.4實(shí)現(xiàn)鼠標(biāo)交互查看圖片像素,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Pytorch之nn.Upsample()和nn.ConvTranspose2d()用法詳解

    Pytorch之nn.Upsample()和nn.ConvTranspose2d()用法詳解

    nn.Upsample和nn.ConvTranspose2d是PyTorch中用于上采樣的兩種主要方法,nn.Upsample通過不同的插值方法(如nearest、bilinear)執(zhí)行上采樣,沒有可學(xué)習(xí)的參數(shù),適合快速簡(jiǎn)單的尺寸增加,而nn.ConvTranspose2d通過可學(xué)習(xí)的轉(zhuǎn)置卷積核進(jìn)行上采樣
    2024-10-10

最新評(píng)論