python文件寫一行數據
『壹』 python把數據寫入文件,規定每個文件只有固定行數
要規定行數的話,就得先規定列數了。否則從頭到尾就一行,也就沒有意義了,如果可以確定行尾的話,也可以用換行確定計數。例:
for item in yourdata:
count = 0
f = open('yourfile','w')
while(count<20):
f.write(yourdata)
count +=1
f.close()
『貳』 Python中怎樣實現向一個文檔中寫入數據, 要求從倒數第三行開始寫入
將文本每行讀入一個數組中啊 然後直接用python 中數組 insert() 插入
file = open("C:/a.txt", "r")
li = []
#line_counter = 0
while 1:
line = file.readline()
if line:
li.append(line)
else:
break
file.close()
lines = len(li)
『』『
下面從倒數第三行開始插入想要插入的字元串,每行插入的字元用\n分開。如果要寫的東西多,可以從外部文件讀入數據
』『』
li.insert(lines-3,"1st row you want to write \n 2nd row you want to write \n")
file=open("C:/a.txt", "w")
for line in li:
file.write(line)
file.close()
『叄』 python寫數據到文件一次只能寫一個數據
python寫數據到衫乎文件一次只能寫一個數據原因如下:
1、代碼在第一次循環中將中緩文件關閉了,因此後邊的數據寫不進去。
2、文件內容不完整,賣塌模要寫入的數據內容依然在緩沖區中,沒有寫入文件。
『肆』 python pandas 怎樣高效地添加一行數據
所以一般說來dataframe就是a set of columns, each column is an array of values. In pandas, the array is one way or another a (maybe variant of) numpy ndarray. 而ndarray本身不存在一種in place append的操作。。。因為它實際上是一段連續內存。。。任何需要改變ndarray長度的操作都涉及分配一段長度合適的新的內存,然後。。。這是這類操作慢的原因。。。如果pandas dataframe沒有用其他設計減少的話猜大,我相信Bren說的"That's probably as efficient as any"是很對的。。。
所以in general, 正如Bren說的。。。Pandas/numpy structures are fundamentally not suited for efficiently growing.
Matti 和 arynaq說的是兩種常見的對付這個問題的方法。。。我想Matti實際的意思是把要加的rows收集成起穗裂豎來然後concatenate, 這樣只一次。arynaq的方法就是預先分配內存比較好理解。。。
如果你真的需要incrementally build a dataframe的話,估計你需要實際測試一下兩種源念方法。。。
我的建議是,如有可能,盡力避免incrementally build a dataframe, 比如用其他data structure 收集齊所有data然後轉變成dataframe做分析
『伍』 python怎樣實現一行一行讀取文件數據,並且要實現讀取一行數據,就進行條件判斷
超簡單
get='''12
15
16
19
23'''
result=get.split(' ')
foriinresult:
ifint(i)>16:
print(i)
滿意還請採納
『陸』 Python writerow/writerows 添加數據
with open('xxxx.csv','w',newlines='') as f:
writer = csv.writer(f) #創建初始化寫入對象
writer.writerow(['color','red'唯並橋]) # 一行一行寫入 ['color','red']
* 在windows里,指猛csv保存得到的文件是每空一行儲存一條數據,使用newlines=''可保證蔽敏存儲存的數 據不空行。
with open('xxxx.csv','w') as f:
writer = csv.writer(f)
writer.writerows([('color','red'),('size','big'),('male','female')]) #多行寫入
『柒』 用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()
『捌』 使用 Python 讀寫文件
有些數據是臨時的,它們在應用程序運行時存儲在內存中,然後丟棄。但是有些數據是持久的。它們存儲在硬碟驅動器上供以後使用,而且它們通常是用戶最關心的東西。對於程序員來說,編寫代碼讀寫文件是很常見的,但每種語言處理該任務的方式都不同。本文演示了如何使用 Python 處理文件數據。
在 Linux 上,你可能已經安裝了 Python。如果沒有,你可以通過發行版軟體倉庫安裝它。例如,在 CentOS 或 RHEL 上:
在 macOS 上,你可以使用 MacPorts或Homebrew安裝。在 Windows 上,你可以使用Chocolatey安裝。
一旦安裝了 Python,打開你最喜歡的文本編輯器,准備好寫代碼吧。
如果你需要向一個文件中寫入數據,記住有三個步驟:
這與你在計算機上編碼、編輯照片或執行其他操作時使用的步驟完全相同。首先,打開要編輯的文檔,然後進行編輯,最後關閉文檔。
在 Python 中,過程是這樣的:
這個例子中,第一行以 寫 模式打開了一個文件,然後用變數 f 表示,我使用了 f 是因為它在 Python 代碼中很常見,使用其他任意有效變數名也能正常工作。
在打開文件時,有不同的模式:
第二行表示向文件中寫入數據,本例寫入的是純文本,但你可以寫入任意類型的數據。
最後一行關閉了文件。
對於快速的文件交互,常用有一種簡短的方法可以寫入數據。它不會使文件保持打開狀態,所以你不必記得調用 close 函數。相反,它使用 with 語法:
如果你或你的用戶需要通過應用程序需要向文件中寫入一些數據,然後你需要使用它們,那麼你就需要讀取文件了。與寫入類似,邏輯一樣:
同樣的,這個邏輯反映了你一開始使用計算機就已知的內容。閱讀文檔,你可以打開、閱讀,然後關閉。在計算機術語中,「打開」文件意味著將其載入到內存中。
實際上,一個文本文件內容肯定不止一行。例如,你需要讀取一個配置文件、 游戲 存檔或樂隊下一首歌曲的歌詞,正如你打開一本實體書時,你不可能立刻讀完整本書,代碼也只能解析已經載入到內存中的文件。因此,你可能需要遍歷文件的內容。
示例的第一行指明使用 讀 模式打開一個文件,然後文件交由變數 f 表示,但就像你寫數據一樣,變數名是任意的。 f 並沒有什麼特殊的,它只是單詞 「file」 的最簡表示,所以 Python 程序員會經常使用它。
在第二行,我們使用了 line ,另一個任意變數名,用來表示 f 的每一行。這告訴 Python 逐行迭代文件的內容,並將每一行的內容列印到輸出中(在本例中為終端或IDLE)。
就像寫入一樣,使用 with 語法是一種更簡短的方法讀取數據。即不需要調用 close 方法,方便地快速交互。
使用 Python 有很多方法向文件寫入數據,包括用 JSON、YAML、TOML等不同的格式寫入。還有一個非常好的內置方法用於創建和維護SQLite資料庫,以及許多庫來處理不同的文件格式,包括圖像、音頻和視頻等。
via: https://opensource.com/article/21/7/read-write-files-python
作者:Seth Kenlon選題:lujun9972譯者:MjSeven校對:turbokernel
『玖』 python讀取文件—txt文件常用讀寫操作
f = open("data.txt","r") #設置文件對象
f.close() #關閉文件
為了方便,避免忘記close掉這個文件對象,可以用下面這種方式替代
with open('data.txt',"r") as f: #設置文件對象
str = f.read() #可以是隨便對文件的操作
f = open("data.txt","r") #設置文件對象
str = f.read() #將txt文件的所有內容讀入到字元串str中
f.close() #將文件關閉
f = open("data.txt","r") #設置文件對象
line = f.readline()
line = line[:-1]
while line: #直到讀取完文件
line = f.readline() #讀取一行文件,包括換行符
line = line[:-1] #去掉換行符,也可以不去
f.close() #關閉文件
data = []
for line in open("data.txt","r"): #設置文件對象並讀取每一行文件
data.append(line) #將每一行文件加入到list中
f = open("data.txt","r") #設置文件對象
data = f.readlines() #直接將文件中按行讀到list里,效果與方法2一樣
f.close() #關閉文件
可以使用pandas的.read_csv,讀取文件的時候可以給每一列起名字,通過列名來調取相應列的數據。
import pandas as pd
data = pd.read_csv(" OSDO1012.txt",sep=',',header=None, names=['lat','lon','time','z']
使用data.lat就可以讀取名為lat這一列的數據
data = np.loadtxt("data.txt",skiprows = 1) #將文件中數據載入到data數組里,並且跳過第一行
with open('data.txt','w') as f: #設置文件對象
f.write(str) #將字元串寫入文件中
data = ['a','b','c']
單層列表寫入文件
with open("data.txt","w") as f:
f.writelines(data)
每一項用空格隔開,一個列表是一行寫入文件
data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
with open("data.txt","w") as f: #設置文件對象
for i in data: #對於雙層列表中的數據
i = str(i).strip('[').strip(']').replace(',','').replace('\'','')+'\n' #將其中每一個列表規范化成字元串
f.write(i) #寫入文件
直接將每一項都寫入文件
data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
with open("data.txt","w") as f: #設置文件對象
for i in data: #對於雙層列表中的數據
f.writelines(i) #寫入文件
np.savetxt("data.txt",data) #將數組中數據寫入到data.txt文件
np.save("data.txt",data) #將數組中數據寫入到data.txt文件