python3讀取文件行
1. python按行讀取文件,如何去掉換行符"\n
1、打開需要修改的文件代碼。
2. 怎麼用python讀取txt文件里指定行的內容,並導入excel
舉個簡單的例子,我這里有一個txt文件,文件中每一個row包含的是用戶名和用戶的身高,我們這里需要獲取特定的行內容,比如身高大於170cm的內容,寫入excel中。
data.txt
張三172cm
李四183cm
王五166cm
趙六159cm
孫樂樂185cm
周熊熊169cm
蘇鵬鵬176cm
吳剛剛191cm
韓軒軒172cm
sheet.py
'''
獲取文件信息
'''
fi=open("data.txt")
lines=fi.readlines()
#讀取身高大於170cm
data=[]
forhumaninlines:
hinfo=human.split()
ifhinfo:
ifint(hinfo[1][:3])>=170:
data.append(tuple(hinfo))
'''
寫入excel
'''
importxlwt
#創建workbook和sheet對象
workbook=xlwt.Workbook()#Workbook的開頭W大寫
sheet1=workbook.add_sheet('sheet1',cell_overwrite_ok=True)
#向sheet頁中寫入數據
sheet1.write(0,0,'姓名')
sheet1.write(0,1,'身高cm')
row=1
foriindata:
sheet1.write(row,0,i[0])#i0姓名
sheet1.write(row,1,i[1])#i1身高
row+=1
workbook.save('c.xlsx')#寫入excel
執行sheet.py 後,打開同級目錄下的c.xlsx
3. python讀取一個txt文件 使其變成每行20個字元的形式
如何讓python把從txt文件中讀入的文字按20個字元一行的形式分隔開呢。大概的思路是,先讀入文件所有字元,然後使用range生成[0,20,40,...]的列表以供索引,然後用這個索引,生成有關於該字元串的新列表[s[0:20],s[20:40],...],若不專門去除換行符,代碼用這個思路就夠了,可以這么寫(以下13行就是)(限於python3):
#-*-coding:utf-8;-*-
f=open("test.txt","w")
print("abcdefghijklmnopqrstabcd"
"efghijklmnopqrstopq",file=f)
f.close()
#生成待讀入文件
#再從待讀入文件中讀入處理
f=open("test.txt","r")
s=f.read()
l=len(s)
b=(list(range(0,l,20)))
p=[s[i:i+20] for i in b]
r=[print(i) for i in p]
按每行20字元的形式輸出樣例txt
4. python中怎麼讀取文件內容
用open命令打開你要讀取的文件,返回一個文件對象
然後在這個對象上執行read,readlines,readline等命令讀取文件
或使用for循環自動按行讀取文件
5. 用python讀取文本文件,對讀出的每一行進行操作,這個怎麼寫
用python讀取文本文件,對讀出的每一行進行操作,寫法如下:
f=open("test.txt","r")
whileTrue:
line=f.readline()
ifline:
pass#dosomethinghere
line=line.strip()
p=line.rfind('.')
filename=line[0:p]
print"create%s"%line
else:
break
f.close()
6. Python按行讀取文件的簡單實現方法
Python按行讀取文件的簡單實現方法
下面小編就為大家帶來一篇Python按行讀取文件的簡單實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。
1:readline()
file = open("sample.txt")
while 1:
line = file.readline()
if not line:
break
pass # do something
file.close()
一行一行得從文件讀數據,顯然比較慢;
不過很省內存;
測試讀10M的sample.txt文件,每秒大約讀32000行;
2:fileinput
import fileinput
for line in fileinput.input("sample.txt"):
pass
寫法簡單一些,不過測試以後發現每秒只能讀13000行數據,效率比上一種方法慢了兩倍多;
3:readlines()
file = open("sample.txt")
while 1:
lines = file.readlines(100000)
if not lines:
break
for line in lines:
pass # do something
file.close()
用同樣的數據測試,它每秒可以讀96900行數據!效率是第一種方法的3倍,第二種方法的7倍!
4:文件迭代器
每次只讀取和顯示一行,讀取大文件時應該這樣:
file = open("sample.txt")
for line in file:
pass # do something
file.close()
以上就是小編為大家帶來的Python按行讀取文件的簡單實現方法全部內容了
7. 數據有多行,用python進行文件讀取,並將文件所有行的前21個數據保存到一個二維
data=[]
foriinrange(文件數):
data.append([])
data[i].append(前21行個數據為一個列表)
效果:data=[[前21行],[前21行],前21行],[前21行]]
python3環境
8. python讀取csv文件的某一行
1.全部讀到成列表然後選取行(容易超時,亂碼等問題)
2.利用迭代工具,代碼如下:
from itertools import islice
with open('data.tsv', 'r') as f:
for line in islice(f, 1, None):
# process data
f.close()
修改islice函數中第2個參數n即可,表示讀到f文件對象的第n行
9. python3.5如何直接讀取(不先進行解壓操作)zip壓縮文件中某一個csv格式文件中各行的內容
import StringIO
import zipfile
filehandle = open("D:/ABC.zip", 'rb')
zfile = zipfile.ZipFile(filehandle)
data = StringIO.StringIO(zfile.read(zfile .namelist()[0]))
reader = csv.reader(data)
在zipfile文檔中看了ZipFile對象的read方法,它返回的是位元組,不是迭代器。因為csv.reader方法它的參數是需要一個迭代器的。所以你的這段代碼過不了:reader=csv.reader(zf.open(cf))
。
10. python讀取文件,readline中,行是怎麼定義的
1.
text
mode(預設的默認值):python會根據操作系統的不同將按照不同的line
break
character來處理。例如Win下text
mode的讀取,會將\r\n在讀取時「當作」\n(注意此處的\n可認為是line
break
character)來處理;在寫時,則會將\n轉換為\r\n來寫入
2.
binary
mode(b):則沒有text
mode類似的轉換,文件中存儲為什麼,則解釋為什麼。