python讀取檔案並處理 python檔案處理

2021-10-11 05:15:25 字數 4223 閱讀 2668

1、讀取txt檔案

# 讀取stu_info.txt檔案內容,並將檔案中所有學生名稱顯示出來

f = open('stu_info.txt', 'r')

lines = f.readlines()

print(lines)

for line in lines:

print(line.split(',')[0])

f.close()

2、csv檔案讀寫

讀寫csv檔案,csv即為逗號分隔值(comma-separated values,csv),

有時也稱為字元分隔值,其檔案以純文字形式儲存**資料(數字和文字)

import csv

fr=open('stu_info.csv', 'r')

csv_file = csv.reader(fr)

for stu in csv_file:

print(stu)

fr.close()

#對stu_info.csv檔案追加寫入兩個學生資訊marry和rom

stu=['marry',28,'changsha']

stu1=['rom',23,'chengdu']

out=open('stu_info.csv','a',newline='')

csv_write=csv.write(out,dialect='excel')

csv_write.writerow(stu)

csv_write.writerow(stu1)

out.close()

3、讀取xml檔案元素節點

jack

beijing

bobshanghai

marry

shenzhen

marry

shenzhen

nancy

shenzhen

#檢視class_info.xml檔案裡class節點對屬性(節點名稱、節點值,結點型別)

from xml.dom import minidom

#載入xml檔案

dom=minidom.parse('class_info.xml')

#載入dom物件元素

root=dom.documentelement

#列印結點資訊

print(root.nodename)

print(root.nodevalue)

print(root.nodetype)

nodename節點名稱

nodevalue返回文字節點的值

nodetype屬性,返回以數字值指定的節點的節點型別

如果節點是元素節點,則nodetype屬性將返回1

如果節點是屬性節點,則nodetype屬性將返回2

4、讀取xml文字節點

#分別列印出class_info.xml裡面學生和老師的詳細資訊(姓名、年齡、城市)

from xml.dom import minidom

#獲取標籤對的值

dom=minidom.parse('class_info.xml')

#獲取文件物件元素

root=dom.documentelement

#根據標籤名稱獲取標籤物件

names=root.getelementsbytagname('name')

ages=root.getelementsbytagname('age')

citys=root.getelementsbytagname('city')

#分別列印顯示xml文件標籤對裡面對內容

for i in range(4):

print(names[i].firstchild.data)

print(ages[i].firstchild.data)

print(citys[i].firstchild.data)

print("----------------")

5、讀取xml檔案屬性節點的值

# 讀取屬性節點的值:分別讀取列印老師和學生的賬號密碼

from xml.dom import minidom

dom = minidom.parse('class_info.xml')

root = dom.documentelement

logins = dom.documentelement

logins = root.getelementsbytagname('login')

# 獲取login標籤username屬性

for i in range(2):

username = logins[i].getattribute('username')

print(username)

password = logins[i].getattribute('password')

print(password)

6、讀取子節點資訊

讀取子節點資訊

nodename 節點名稱

nodevalue 節點值

nodetype 節點型別

from xml.dom import minidom

dom=minidom.parse('class_info.xml')

root=dom.documentelement

tags=root.getelementsbytagname('student')

print(tags[0].nodename)

print(tags[0].tagname)

print(tags[0].nodetype)

print(tags[0].nodevalue)

7、多執行緒

# 多執行緒

from time import ctime, sleep

import threading

def talk(content, loop):

for i in range(loop):

print('start talk %s %s' % (content, ctime()))

sleep(3)

def write(content, loop):

for i in range(loop):

print('start write %s %s' % (content, ctime()))

sleep(2)

# 定義和載入讀寫執行緒

threads =

t1 = threading.thread(target=talk, args=('speak: hello world', 5))

# 執行多執行緒

t2 = threading.thread(target=write, args=('write: gogogo', 5))

if __name__ == '__main__':

for t in threads:

t.start()

for t in threads:

t.join()

print('all the end %r' % ctime())

8、多程序

# 多程序

from time import ctime, sleep

import multiprocessing

def talk(content, loop):

for i in range(loop):

print('start talk %s %s' % (content, ctime()))

sleep(3)

def write(content, loop):

for i in range(loop):

print('start write %s %s' % (content, ctime()))

sleep(2)

# 定義和載入讀寫程序

processs =

p1 = multiprocessing.process(target=talk, args=('speak: hello world', 5))

# 執行多執行緒

p2 = multiprocessing.process(target=write, args=('write: gogogo', 5))

if __name__ == '__main__':

for p in processs:

p.start()

for p in processs:

p.join()

print('all the end %r' % ctime())

python讀取並處理CSV檔案

python讀取並處理csv檔案 import csv 將使用的檔案的名稱儲存在filename中 filename sitka weather 07 2014.csv 開啟該檔案,並將檔案物件儲存在 f 中 with open filename as f reader csv.reader f h...

py 檔案讀取 異常處理

import readline import math import json py檔案讀取 異常處理 a 第一行第二行 第三行 從檔案讀取資料 with open d a.txt as f content f.read print content with open乙個file,當做乙個物件,直接...

python讀取大資料csv R讀取並處理較大資料

1.概述 之前在讀取和處理較大的csv資料時,在嘗試了一次直接讀取處理後發現非常耗時,就改用匯入資料庫,再通過rmysql或者rodbc來讀取處理資料。今天來比較一下。載入相關packages library data.table library dplyr library sqldf librar...