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...