python讀取文件指定行
1. python讀取文本內每行指定內容
可以參考下面的代碼:
f=file(yourpath)
for line in f:
t = line.split("==")
part_1 = t[0] + "=="
(part_2,part_3) = t[1].split("--")
del t
print "第一段:%s 第二段:%s 第三段:%s" %(part_1,part_2,part_3)
(1)python讀取文件指定行擴展閱讀:
python參考函數
callable(obj) 查看一個obj是不是可以像函數一樣調用
repr(obj) 得到obj的表示字元串,可以利用這個字元串eval重建該對象的一個拷貝
eval_r(str) 表示合法的python表達式,返回這個表達式
hasattr(obj,name) 查看一個obj的name space中是否有name
setattr(obj,name,value) 為一個obj的name space中的一個name指向vale這個object
2. 用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()
3. 怎麼用python讀取txt文件里指定行的內容,並導入excel
def eachlineof(filename):
''' 逐行讀取給定的文本文件,返回行號、剔除末尾空字元的行內容 '''
with open(filename) as handle:
for lno, line in enumerate(handle):
yield lno+1, line.strip()
另外: 讀寫excel需要第三方類庫,可以考慮下載安裝xlrd, xlwt
寫excel表
寫excel表要用到xlwt模塊,官網下載(http://pypi.python.org/pypi/xlwt)。大致使用流程如下:
1、導入模塊
復制代碼代碼如下:
import xlwt
2、創建workbook(其實就是excel,後來保存一下就行)
復制代碼代碼如下:
workbook = xlwt.Workbook(encoding = 'ascii')
3、創建表
復制代碼代碼如下:
worksheet = workbook.add_sheet('My Worksheet')
4、往單元格內寫入內容
復制代碼代碼如下:
worksheet.write(0, 0, label = 'Row 0, Column 0 Value')
5、保存
復制代碼代碼如下:
workbook.save('Excel_Workbook.xls')
由於我的需求比較簡單,所以這上面沒遇到什麼問題,唯一的就是建議還是用ascii編碼,不然可能會有一些詭異的現象。
當然xlwt功能遠遠不止這些,他甚至可以設置各種樣式之類的。附上一點例子
復制代碼代碼如下:
Examples Generating Excel Documents Using Python's xlwt
Here are some simple examples using Python's xlwt library to dynamically generate Excel documents.
Please note a useful alternative may be ezodf, which allows you to generate ODS (Open Document Spreadsheet) files for LibreOffi
4. 如何用python讀取文本中指定行的內容
這里寫個簡單的,用readline即可實現,命令行帶入參數1為讀取的文件名,參數2為需要讀取的行數。需要讀取多行,你可以簡單改改,例如參數帶個列表,程序內用eval轉化為數組之類的方法。
importsys
filename=sys.argv[1]
linenum=int(sys.argv[2])
withopen(filename,'r')asf:
line=f.readline()
n=1
whileline:
iflinenum==n:
printline
break
else:
line=f.readline()
n+=1
5. 怎麼用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
6. 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行
7. 怎麼用python讀取txt文件里指定行的內容,並導入excel
全文使用的是xlswriter模塊寫的,也有人使用xlrd與xlutils模塊實現,不過還未進行驗證
import xlsxwriter
workbook = xlsxwriter.Workbook("D:\Program Files\subpy\sql2.xlsx")#在指定目錄下創建一個excle
worksheet = workbook.add_worksheet("students")#新建一個sheet
title_index = ["A"族頃,"B","C","D"]#sheet中的區域
li = [] #定義一個空列表
blod = workbook.add_format({"bold":True})#定義exlce中寫入的字體with open("D:\Program Files\subpy\tets.txt",'r') as f1:#打開txt文檔
lines = f1.readlines()#讀取所有行內容
n = -1#定義一個變激穗山量
for x in lines:#逐行讀取
n=n+1
li.append(x[:-1])#去掉回車符
y= x.split#以空格分字元
for i in range(len(title_index)):#讀取excle區域下標
# for i,j in enumerate(title_index):
content = y[i]#單個字元讀取
worksheet.write(n,i,content,blod)#分明中行分列寫入workbook.
close#關閉excle