大資料Python基礎之檔案讀寫

2021-10-01 01:57:35 字數 2048 閱讀 6303

1.python處理的各種型別的資料,通過內建資料結構如列表、字典等在計算機記憶體中進行處理加工,最後必須要存入外部儲存器中永久儲存。

2.檔案是乙個儲存在輔助儲存器上的資料序列;

檔案是常用的儲存形式;

檔案可以包含任何資料內容;

檔案的型別分為文字檔案和二進位制檔案,文字由單一特定編碼的字串構成,二進位制沒有統一編碼,需要軟體進行編碼和解碼。

3.檔案的開啟和關閉

使用file = open(file_name,mode)函式,開啟檔案,返回乙個stream物件file

如果檔案的儲存位置與程式的儲存位置相同,只寫檔名就可以

如果不同,需要在函式中指明檔案路徑,因此這裡就會有幾個注意的地方

首先,不能直接複製系統顯示的檔案路徑,如『c:\text.txt』,因為python用反斜槓』\』代表轉義字元

有兩種修改方法,一是將』\』的方向反向為』/』或者是』\』,二是在路徑前加個r,意思是按原始字元處理

其次,如果路徑中含有中文字元該怎麼辦?

通過unicode(inpath, 『utf-8』)函式,將路徑的編碼變為utf-8編碼

#!/usr/bin/python

# -*- coding: utf-8 -*-

file1 = open("text.txt", 'r')

# inpath = "c:/users/爾康/desktop/1.txt"

# inpath = "c:\\users\\爾康\\desktop\\1.txt"

inpath = r"c:\users\爾康\desktop\1.txt"

uinpath = unicode(inpath, 'utf-8')

print uinpath

file2 = open(uinpath, 'r')

data1 = file1.read().decode('gbk').encode('utf-8')

data2 = file2.read().decode('gbk').encode('utf-8')

print data1

print data2

# 關閉檔案

file1.close()

輸出:

c:\users\爾康\desktop\1.txt

你好你好呀

注釋:文字中含有中文

encode()是對字串進行轉碼的方法,decode()是對字串進行解碼的方法

python2中預設的編碼方式一般是gbk,因此讀取時應該先將其gbk解碼,解碼為unicode,然後再utf-8編碼

4.寫入檔案

ls = ["王", "二", "呀"]

# 保護檔案,在沒有關閉檔案的時候,自動關閉

with open("text.txt", "w+") as fo:

# 寫入,但是沒有換行符

# fo.writelines(ls)

fo.writelines(line + "\n" for line in ls) # 換行

寫入檔案的方法:

< file>.write(s) 向檔案寫入乙個字串或位元組流

< file>.writelines(lines) 將乙個元素為字串的列表寫入檔案

< file>.seek(offset) 改變當前檔案操作指標的位置,offset的值:0 檔案開頭,1 當前位置,2 檔案結尾

5.模擬資料存入檔案例項

from faker import faker

fake = faker()

with open("test.txt", 'w') as fo:

for i in range(10):

fo.writelines([fake.name()+"\n", fake.full_address()+"\n"])

Python讀檔案基礎

下面舉乙個例子,例子的功能是讀取當前目錄下的a.txt文字檔案裡的內容並輸出列印到螢幕上。下圖是執行結果。程式 如下 python rfile open a.txt r words rfile.read print words rfile.close rfile open a.txt r words...

大資料Python基礎之Series資料結構學習

1.series是在pandas庫 現的資料結構,適用於科學計算。每個series物件實際上都有兩個互相關聯的陣列組成,其中主陣列用來存放資料,主陣列的每個元素都有乙個與之相關聯的標籤,這些標籤儲存在另乙個叫作index的陣列中,如果不指定索引,預設生成的索引是0到n 1。通過series物件的va...

讀《大資料時代》

這兩天把 大資料時代 生活 工作與思維的大變革 讀完了,剛開始是抱著看 的態度閱讀,但讀完之後覺得對自己蠻有啟發,特別是書本中列舉出了一些美國創新型公司應用大資料思維對傳統工作方式的變革,讓人耳目一新。所以我覺得這本書不僅僅適合於計算機專業的人看,各行各業的人都很有必要看看,因為在大資料時代,不用資...