試驗python讀取外部資料的幾種方式

2021-09-24 19:28:30 字數 2386 閱讀 7826

python讀取外部csv格式資料,【此處資料非大資料(>6tb),讀取大資料利用分段方法】

主要介紹使用python自帶的函式read、readlines讀取資料轉換為資料框,和使用pandas自帶的函式read_csv讀取csv資料的對比

資料是csv格式,按readlines讀取時,每次讀取一行,並且把這一行資料作為乙個字串物件;

file="train.csv"

with open(file) as f:

row=

for line in f.readlines():

v=list(line.strip().split(","))

train=pd.dataframe(row,columns=row[0])

如下,若csv檔案如下:

name

ageheight

xiaohong

1890

xiaobai

20100

ming

20na

用readlines讀取的資料是

['name,age,height','xiaohong,18,90','xiaobai,20,100','ming,20,na']
**v=list(line.strip().split(","))的作用很重要

v=list(line.strip().split(","))

#使得f中的每乙個變數都變成列表形式,

即將['name,age,height','xiaohong,18,90','xiaobai,20,100']

逐個變為[[name,age,height],[xiaohong,18,90],[xiaobai,20,100],[ming,20,na]]

如果沒有這條語句,則資料框train將是4行1列

csv.reader(csvfile, dialect='excel', **fmtparams):

該函式返回乙個reader物件,該物件可以迭代csv檔案中的每一行,csv檔案可以是任意支援iteratior協議的物件。每次呼叫它的__next__()方法(檔案物件和列表物件都適用的方法),該物件返回乙個字串。從csv檔案讀取的每一行,都以列表的形式返回。

引數解釋:

csvfile:可以是任何支援迭代器協議的物件,它每次返回乙個字串。如果它是乙個檔案物件,它應該以newline=''的形式開啟(參照樣例).

dialect:是乙個可選引數,用來定義乙個僅針對特定csv dialect的引數集。它可能是乙個dialect類的子類例項或由list_dialects()返回的多個字串中的乙個。其實這個看你想以什麼規範操作csv檔案,可選的引數有三個,分別是excel,excel-tab和unix,基本用不著該這個引數。

delimiter:這個引數是用來指明分割符的,多數csv檔案的分隔符是英文逗號,但是萬一有檔案整點么蛾子

咋整,比如把英文冒號當分割符,那就要把這個引數指明為:delimiter=』:』

quotechar:這個引數指明了引用符

#使用內建csv模組讀取資料

start=datetime.datetime.now()

with open(r"c:\users\titix\desktop\醫保欺詐\05演算法模型\test_c.csv",'r',encoding='utf-8') as f:

file=csv.reader(f)

header = next(file)

data=[line for line in file]

end=datetime.datetime.now()

print(end-start)

#將列表資料變成資料框

data=pd.dataframe(data,header)

檢視資料框

data

在上面**中,採用序列生成器將迭代器中的序列生成列表data=[line for line in file],還可以採用for迴圈對列表進行末尾新增元素的方式,將迭代器中的資料寫到列表中。

start=datetime.datetime.now()

data=

with open(r"c:\users\titix\desktop\醫保欺詐\05演算法模型\test_c.csv",'r',encoding='utf-8') as f:

file=csv.reader(f)

# header = next(file)

for line in file:

end=datetime.datetime.now()

print(end-start)

python讀取外部檔案

1 pd.read excel c 2年度排名 歷史排名 電影名稱 總票房 總人次 總場次 上映年份 操作 3 0 1 1 美人魚 nan 2016資料糾錯 4 1 2 9 瘋狂動物城 nan 2016資料糾錯 5 2 3 10 魔獸 nan 2016資料糾錯 6 3 4 17 美國隊長3 英雄內戰...

rstudio中讀取資料 R語言讀取外部資料檔案

使用r語言的時候,如果是少量資料,不妨使用c 或其他函式進行建立 但是對於大量資料,最好還是先通過其他更方便的軟體建立資料檔案,然後使用r讀入這個檔案。前文說,csv是非常好的資料檔案格式,跨平台支援非常好。我在excel或者spss中建立的資料,只要存為csv格式,就可以使用幾乎任何資料處理軟體對...

chapter 外部資料讀取和儲存1 2

excel 資料是工作過程中常見的一種資料。可以通過read excel和to excel函式對excel資料的讀取和儲存。建立乙個excel資料。開啟excel,輸入資料。通過read excel函式開啟。import pandas as pd from ipython.display impor...