免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Python 之 文件讀寫的學習

  文件是一個存儲在輔助存儲器上的數(shù)據(jù)序列,可以包含任何數(shù)據(jù)內(nèi)容,其中包括兩種類型:文本文件和二進制文件。文件讀寫是Python代碼調(diào)用電腦文件的主要功能,能被用于讀取和寫入文本記錄、音頻片段、Excel文檔、保存郵件以及任何保存在電腦上的東西。

?

文件讀寫

一、文件的打開(Python對文本文件和二進制文件采用統(tǒng)一的操作步驟,即“打開-操作-關(guān)閉”。)

?

(1)通過解釋器內(nèi)置的open()函數(shù)打開一個文件,并實現(xiàn)該文件與一個程序變量的關(guān)聯(lián),open()函數(shù)格式如下:

<變量名> = open(<文件路徑>, <打開模式>)

?

?可以看到,open()函數(shù)有兩個參數(shù):

  • 文件的保存地址:文件的地址有兩種,絕對路徑和相對路徑。

  絕對路徑就是文件最完整的路徑,相對路徑就是相對于當前文件夾的路徑,當前文件夾就是你編寫的這個py文件所放的文件夾。如果你要打開的文件和open.py在同一個文件夾里,這時只要使用相對路徑就行了,而要使用其他文件夾的文件則需使用絕對路徑。

?

不過需要注意的是:\在Python中是轉(zhuǎn)義字符,所以時常會有沖突。為了避坑,Windows的絕對路徑通常要稍作處理,寫成以下兩種形式:

1 open('C:\\Users\\Administrator\\Desktop\\test\\abc.txt')2 #將'\'替換成'\\'3 4 open(r'C:\Users\Administrator\Desktop\test\abc.txt')5 #在路徑前加上字母r

?

  • 打開文件時的模式:open()函數(shù)提供7種基本的打開模式。

?

?

  如果想要讀取或者寫入的數(shù)據(jù)不是文本內(nèi)容,而是音頻和圖片,可以使用‘rb’模式或者‘wb’模式,因為圖片和音頻是以二進制的形式保存的。

?

(2)為了避免打開文件后忘記關(guān)閉,占用資源或當不能確定關(guān)閉文件的恰當時機的時候,我們可以用到關(guān)鍵字with,例如:

?

 1 #使用open()函數(shù) 2 f = open('abc.txt', 'a') 3 f.write('abc') 4 f.close() 5  6 #使用關(guān)鍵字with 7 #with open('文件地址','讀寫模式') as 變量名: 8  9 with open('abc.txt', 'a') as:        #注意冒號:不能丟, 而且對文件進行操作時需要縮進10     f.write('abc')11 12 #無需用close()關(guān)閉

?

二、文件的讀取

  Python提供4個常用的文件內(nèi)容讀取方法:

?

??  對文件的讀取操作需要將文件中的數(shù)據(jù)加載到內(nèi)存中,而上面所用到的read()方法會一次性把文件中所有的內(nèi)容全部加載到內(nèi)存中,當遇到一個非常大的文件時,會很容易把內(nèi)存消耗完,顯然是不合理的。所以在讀取文件時,通常采用下面兩種方法,對文件內(nèi)容進行逐行處理:

 1 #使用readlines()函數(shù) 2 f = open('abc.txt', 'r') 3 for line in f.readlines(): 4     #處理一行數(shù)據(jù) 5 f.close() 6  7 #直接遍歷文件 8 f = open('abc.txt', 'r') 9 for line in f:10     #處理一行數(shù)據(jù)11 f.close()

?

三、文件的寫入

  Python提供3個與文件內(nèi)容寫入有關(guān)的方法:

例子如下:

1 ls = ['a', 'b','c']2 with open('abc.txt', 'w ') as f:3     f.writelines(ls)        #使用writelines()函數(shù)后,文件指針會指在寫入內(nèi)容的后面4     f.seek(0)               #使用seek()函數(shù),將文件指針返回文件開頭.如果把這行代碼注釋掉,后面將不會打印出寫入的內(nèi)容5     for line in f:6         print(line)

?

讀取excel文件,修改并存為csv文件  

  需要讀入上面的Excel表格,并且將優(yōu)秀改為90分,良好80分,合格60,不合格0分,最后存為csv文件。如圖可以看到這個表格的數(shù)據(jù)不是很整齊,下面我會使用pandas庫處理這個Excel表格。(pandas庫的簡單使用

?

(1)將原表格處理一下

1 import pandas as pd2 df = pd.read_excel("Python成績登記信計.xlsx", header=1)                 #讀入excel文件,創(chuàng)建DataFrame實例3 df.columns = ['序號','一','二','三','四']                               #人為設置columns,就是每一列的名字4 df.set_index('序號', inplace = True)                                   #因為DataFrame有自己的默認索引,這里設置'序號'作為索引5 df.to_excel("newexcel.xlsx")                                          #保存為新的Excel文件

?

得到的新表格如下:

??

(2)修改excel數(shù)據(jù),并存為csv文件

1 import pandas as pd2 df = pd.read_excel("newexcel.xlsx")3 chg = {'優(yōu)秀':'90','良好':'80','合格':'60','不合格':'0'}                 #創(chuàng)建一個對應成績的字典4 Grade = df.columns.values[1:]                                          #取出每一列數(shù)據(jù)的列名5 for col in Grade:                               6     for i in chg:7         df[col][df[col] == i] = chg[i]                                 #找到col表示的列名的那一列,在該列進行比較8 df.to_csv("newcsv.csv", index = False, header = True)                  #保存為csv文件

?

得到的csv文件如下:

?

將csv格式文件轉(zhuǎn)換成html文件

  pandas庫的DataFrame類提供了比較簡單的保存為html文件的方法,如下:

1 import pandas as pd2 df = pd.read_csv("newcsv.csv")                                          #讀入csv文件,創(chuàng)建一個DataFrame實例3 df.to_html("newhtml.html", index = False, header = True)                #保存為html格式文件

  

  打開該html文件后,效果如:

?

?

運用Python CGI將上面的csv格式文件在網(wǎng)頁上顯示

  由于接下來需要用到CGI的知識,所以我這里給出簡單學習CGI的鏈接。(Python CGI安裝教程及簡單使用、修改httpd.conf文件參考教程

?

  安裝以及配置完Apache之后,我將我完成的html文件放入文件夾Apache24/htdocs中,用記事本的形式打開這個html文件,得到:

  1 <table border="1" class="dataframe">  2   <thead>  3     <tr style="text-align: right;">  4       <th>序號</th>  5       <th>一</th>  6       <th>二</th>  7       <th>三</th>  8       <th>四</th>  9     </tr> 10   </thead> 11   <tbody> 12     <tr> 13       <td>1</td> 14       <td>0.0</td> 15       <td>90.0</td> 16       <td>80.0</td> 17       <td>80.0</td> 18     </tr> 19     <tr> 20       <td>2</td> 21       <td>90.0</td> 22       <td>90.0</td> 23       <td>90.0</td> 24       <td>90.0</td> 25     </tr> 26     <tr> 27       <td>3</td> 28       <td>60.0</td> 29       <td>90.0</td> 30       <td>80.0</td> 31       <td>80.0</td> 32     </tr> 33     <tr> 34       <td>4</td> 35       <td>0.0</td> 36       <td>90.0</td> 37       <td>90.0</td> 38       <td>80.0</td> 39     </tr> 40     <tr> 41       <td>5</td> 42       <td>90.0</td> 43       <td>90.0</td> 44       <td>80.0</td> 45       <td>90.0</td> 46     </tr> 47     <tr> 48       <td>6</td> 49       <td>90.0</td> 50       <td>90.0</td> 51       <td>90.0</td> 52       <td>80.0</td> 53     </tr> 54     <tr> 55       <td>7</td> 56       <td>90.0</td> 57       <td>90.0</td> 58       <td>80.0</td> 59       <td>90.0</td> 60     </tr> 61     <tr> 62       <td>8</td> 63       <td>90.0</td> 64       <td>90.0</td> 65       <td>80.0</td> 66       <td>80.0</td> 67     </tr> 68     <tr> 69       <td>9</td> 70       <td>90.0</td> 71       <td>90.0</td> 72       <td>80.0</td> 73       <td>90.0</td> 74     </tr> 75     <tr> 76       <td>10</td> 77       <td>90.0</td> 78       <td>90.0</td> 79       <td>90.0</td> 80       <td>90.0</td> 81     </tr> 82     <tr> 83       <td>11</td> 84       <td>90.0</td> 85       <td>90.0</td> 86       <td>90.0</td> 87       <td>90.0</td> 88     </tr> 89     <tr> 90       <td>12</td> 91       <td>90.0</td> 92       <td>90.0</td> 93       <td>90.0</td> 94       <td>90.0</td> 95     </tr> 96     <tr> 97       <td>13</td> 98       <td>80.0</td> 99       <td>60.0</td>100       <td>90.0</td>101       <td>90.0</td>102     </tr>103     <tr>104       <td>14</td>105       <td>60.0</td>106       <td>90.0</td>107       <td>80.0</td>108       <td>80.0</td>109     </tr>110     <tr>111       <td>15</td>112       <td>80.0</td>113       <td>90.0</td>114       <td>80.0</td>115       <td>80.0</td>116     </tr>117     <tr>118       <td>16</td>119       <td>0.0</td>120       <td>0.0</td>121       <td>0.0</td>122       <td>0.0</td>123     </tr>124     <tr>125       <td>17</td>126       <td>90.0</td>127       <td>90.0</td>128       <td>90.0</td>129       <td>90.0</td>130     </tr>131     <tr>132       <td>18</td>133       <td>90.0</td>134       <td>90.0</td>135       <td>90.0</td>136       <td>90.0</td>137     </tr>138     <tr>139       <td>19</td>140       <td>90.0</td>141       <td>90.0</td>142       <td>90.0</td>143       <td>90.0</td>144     </tr>145     <tr>146       <td>20</td>147       <td>90.0</td>148       <td>60.0</td>149       <td>90.0</td>150       <td>80.0</td>151     </tr>152     <tr>153       <td>21</td>154       <td>60.0</td>155       <td>60.0</td>156       <td>90.0</td>157       <td>80.0</td>158     </tr>159     <tr>160       <td>22</td>161       <td>60.0</td>162       <td>90.0</td>163       <td>90.0</td>164       <td>80.0</td>165     </tr>166     <tr>167       <td>23</td>168       <td>90.0</td>169       <td>90.0</td>170       <td>90.0</td>171       <td>60.0</td>172     </tr>173     <tr>174       <td>24</td>175       <td>90.0</td>176       <td>90.0</td>177       <td>90.0</td>178       <td>0.0</td>179     </tr>180     <tr>181       <td>25</td>182       <td>80.0</td>183       <td>90.0</td>184       <td>90.0</td>185       <td>90.0</td>186     </tr>187     <tr>188       <td>26</td>189       <td>80.0</td>190       <td>90.0</td>191       <td>90.0</td>192       <td>90.0</td>193     </tr>194     <tr>195       <td>27</td>196       <td>90.0</td>197       <td>90.0</td>198       <td>90.0</td>199       <td>90.0</td>200     </tr>201     <tr>202       <td>28</td>203       <td>90.0</td>204       <td>0.0</td>205       <td>90.0</td>206       <td>80.0</td>207     </tr>208     <tr>209       <td>29</td>210       <td>90.0</td>211       <td>90.0</td>212       <td>90.0</td>213       <td>90.0</td>214     </tr>215     <tr>216       <td>30</td>217       <td>90.0</td>218       <td>80.0</td>219       <td>90.0</td>220       <td>90.0</td>221     </tr>222     <tr>223       <td>31</td>224       <td>80.0</td>225       <td>90.0</td>226       <td>90.0</td>227       <td>80.0</td>228     </tr>229     <tr>230       <td>32</td>231       <td>90.0</td>232       <td>90.0</td>233       <td>90.0</td>234       <td>80.0</td>235     </tr>236     <tr>237       <td>33</td>238       <td>90.0</td>239       <td>60.0</td>240       <td>90.0</td>241       <td>0.0</td>242     </tr>243     <tr>244       <td>34</td>245       <td>90.0</td>246       <td>90.0</td>247       <td>90.0</td>248       <td>80.0</td>249     </tr>250     <tr>251       <td>35</td>252       <td>90.0</td>253       <td>90.0</td>254       <td>90.0</td>255       <td>80.0</td>256     </tr>257     <tr>258       <td>36</td>259       <td>80.0</td>260       <td>90.0</td>261       <td>90.0</td>262       <td>90.0</td>263     </tr>264     <tr>265       <td>37</td>266       <td>60.0</td>267       <td>80.0</td>268       <td>80.0</td>269       <td>80.0</td>270     </tr>271     <tr>272       <td>38</td>273       <td>80.0</td>274       <td>90.0</td>275       <td>90.0</td>276       <td>80.0</td>277     </tr>278     <tr>279       <td>39</td>280       <td>NaN</td>281       <td>NaN</td>282       <td>NaN</td>283       <td>NaN</td>284     </tr>285     <tr>286       <td>40</td>287       <td>NaN</td>288       <td>NaN</td>289       <td>NaN</td>290       <td>NaN</td>291     </tr>292   </tbody>293 </table>
View Code

?  

  打開網(wǎng)頁,輸入http://localhost/newhtml.html,發(fā)現(xiàn)網(wǎng)頁出現(xiàn)中文亂碼,如下:

?

  接著我在百度找到了解決方法,并且對這個html進行了修改,修改為:

?

  1 <html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">  2 <title>2017中國最好大學排名</title>  3 <head><b>2017中國最好大學排名</b></head><br></br>  4 <table border="1" class="dataframe">  5   <thead>  6     <tr style="text-align: right;">  7       <th>序號</th>  8       <th>一</th>  9       <th>二</th> 10       <th>三</th> 11       <th>四</th> 12     </tr> 13   </thead> 14   <tbody> 15     <tr> 16       <td>1</td> 17       <td>0.0</td> 18       <td>90.0</td> 19       <td>80.0</td> 20       <td>80.0</td> 21     </tr> 22     <tr> 23       <td>2</td> 24       <td>90.0</td> 25       <td>90.0</td> 26       <td>90.0</td> 27       <td>90.0</td> 28     </tr> 29     <tr> 30       <td>3</td> 31       <td>60.0</td> 32       <td>90.0</td> 33       <td>80.0</td> 34       <td>80.0</td> 35     </tr> 36     <tr> 37       <td>4</td> 38       <td>0.0</td> 39       <td>90.0</td> 40       <td>90.0</td> 41       <td>80.0</td> 42     </tr> 43     <tr> 44       <td>5</td> 45       <td>90.0</td> 46       <td>90.0</td> 47       <td>80.0</td> 48       <td>90.0</td> 49     </tr> 50     <tr> 51       <td>6</td> 52       <td>90.0</td> 53       <td>90.0</td> 54       <td>90.0</td> 55       <td>80.0</td> 56     </tr> 57     <tr> 58       <td>7</td> 59       <td>90.0</td> 60       <td>90.0</td> 61       <td>80.0</td> 62       <td>90.0</td> 63     </tr> 64     <tr> 65       <td>8</td> 66       <td>90.0</td> 67       <td>90.0</td> 68       <td>80.0</td> 69       <td>80.0</td> 70     </tr> 71     <tr> 72       <td>9</td> 73       <td>90.0</td> 74       <td>90.0</td> 75       <td>80.0</td> 76       <td>90.0</td> 77     </tr> 78     <tr> 79       <td>10</td> 80       <td>90.0</td> 81       <td>90.0</td> 82       <td>90.0</td> 83       <td>90.0</td> 84     </tr> 85     <tr> 86       <td>11</td> 87       <td>90.0</td> 88       <td>90.0</td> 89       <td>90.0</td> 90       <td>90.0</td> 91     </tr> 92     <tr> 93       <td>12</td> 94       <td>90.0</td> 95       <td>90.0</td> 96       <td>90.0</td> 97       <td>90.0</td> 98     </tr> 99     <tr>100       <td>13</td>101       <td>80.0</td>102       <td>60.0</td>103       <td>90.0</td>104       <td>90.0</td>105     </tr>106     <tr>107       <td>14</td>108       <td>60.0</td>109       <td>90.0</td>110       <td>80.0</td>111       <td>80.0</td>112     </tr>113     <tr>114       <td>15</td>115       <td>80.0</td>116       <td>90.0</td>117       <td>80.0</td>118       <td>80.0</td>119     </tr>120     <tr>121       <td>16</td>122       <td>0.0</td>123       <td>0.0</td>124       <td>0.0</td>125       <td>0.0</td>126     </tr>127     <tr>128       <td>17</td>129       <td>90.0</td>130       <td>90.0</td>131       <td>90.0</td>132       <td>90.0</td>133     </tr>134     <tr>135       <td>18</td>136       <td>90.0</td>137       <td>90.0</td>138       <td>90.0</td>139       <td>90.0</td>140     </tr>141     <tr>142       <td>19</td>143       <td>90.0</td>144       <td>90.0</td>145       <td>90.0</td>146       <td>90.0</td>147     </tr>148     <tr>149       <td>20</td>150       <td>90.0</td>151       <td>60.0</td>152       <td>90.0</td>153       <td>80.0</td>154     </tr>155     <tr>156       <td>21</td>157       <td>60.0</td>158       <td>60.0</td>159       <td>90.0</td>160       <td>80.0</td>161     </tr>162     <tr>163       <td>22</td>164       <td>60.0</td>165       <td>90.0</td>166       <td>90.0</td>167       <td>80.0</td>168     </tr>169     <tr>170       <td>23</td>171       <td>90.0</td>172       <td>90.0</td>173       <td>90.0</td>174       <td>60.0</td>175     </tr>176     <tr>177       <td>24</td>178       <td>90.0</td>179       <td>90.0</td>180       <td>90.0</td>181       <td>0.0</td>182     </tr>183     <tr>184       <td>25</td>185       <td>80.0</td>186       <td>90.0</td>187       <td>90.0</td>188       <td>90.0</td>189     </tr>190     <tr>191       <td>26</td>192       <td>80.0</td>193       <td>90.0</td>194       <td>90.0</td>195       <td>90.0</td>196     </tr>197     <tr>198       <td>27</td>199       <td>90.0</td>200       <td>90.0</td>201       <td>90.0</td>202       <td>90.0</td>203     </tr>204     <tr>205       <td>28</td>206       <td>90.0</td>207       <td>0.0</td>208       <td>90.0</td>209       <td>80.0</td>210     </tr>211     <tr>212       <td>29</td>213       <td>90.0</td>214       <td>90.0</td>215       <td>90.0</td>216       <td>90.0</td>217     </tr>218     <tr>219       <td>30</td>220       <td>90.0</td>221       <td>80.0</td>222       <td>90.0</td>223       <td>90.0</td>224     </tr>225     <tr>226       <td>31</td>227       <td>80.0</td>228       <td>90.0</td>229       <td>90.0</td>230       <td>80.0</td>231     </tr>232     <tr>233       <td>32</td>234       <td>90.0</td>235       <td>90.0</td>236       <td>90.0</td>237       <td>80.0</td>238     </tr>239     <tr>240       <td>33</td>241       <td>90.0</td>242       <td>60.0</td>243       <td>90.0</td>244       <td>0.0</td>245     </tr>246     <tr>247       <td>34</td>248       <td>90.0</td>249       <td>90.0</td>250       <td>90.0</td>251       <td>80.0</td>252     </tr>253     <tr>254       <td>35</td>255       <td>90.0</td>256       <td>90.0</td>257       <td>90.0</td>258       <td>80.0</td>259     </tr>260     <tr>261       <td>36</td>262       <td>80.0</td>263       <td>90.0</td>264       <td>90.0</td>265       <td>90.0</td>266     </tr>267     <tr>268       <td>37</td>269       <td>60.0</td>270       <td>80.0</td>271       <td>80.0</td>272       <td>80.0</td>273     </tr>274     <tr>275       <td>38</td>276       <td>80.0</td>277       <td>90.0</td>278       <td>90.0</td>279       <td>80.0</td>280     </tr>281     <tr>282       <td>39</td>283       <td>NaN</td>284       <td>NaN</td>285       <td>NaN</td>286       <td>NaN</td>287     </tr>288     <tr>289       <td>40</td>290       <td>NaN</td>291       <td>NaN</td>292       <td>NaN</td>293       <td>NaN</td>294     </tr>295   </tbody>296 </table>297 </html>
View Code

?

  最后結(jié)果為:

?

??

來源:https://www.icode9.com/content-1-703551.html
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
pandas 數(shù)據(jù)分組運算
Python數(shù)據(jù)分析實戰(zhàn):獲取數(shù)據(jù)
Python 讀取txt、csv、mat數(shù)據(jù)并載入到數(shù)組
python讀取大型數(shù)據(jù)文件的6種方式,各有千秋!
Pandas常用命令匯總,建議收藏!
用 Python 高效處理大文件
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服