python數據導入
㈠ python將txt導入到excel
你說的是使用python讀取dat,txt類型文件或excel文件吧,這里我不清楚dat類型文件是什麼類型的文件,數據格式是怎樣的,所以主要講一下如何簡單快捷的讀取txt文件指定的列數據和excel文件指定的列數據,主要用到numpy,pandas這兩個包,這兩個主要做科學計算和數據處理,python處理實驗數據,經常要用到這兩個包,至於dat類型的文件,我提供一種可能的思路,實驗環境win7+python3.6+pycharm,主要步驟如下:
1.讀取txt文件指定列。這里主要用到numpy這個包,以及其包含的loadtxt函數,讀取的前提是txt文件不是完全的雜亂無章,沒有一點格式、結構可循,如果真的是這樣,建議手動調整一下格式,使其盡量保持一定的格式結果,然後再讀取,不然的話,會出現錯誤,我這里新建了一個txt文件,樣本內容如下,每行的數據以3個空格為間隔,一般情況下,實驗所產生的txt數據都是有一定結構的:
對應讀取的代碼如下,這里以讀取1,3列數據為例,很簡單:
程序運行結果如下,已經成功列印出1,3列數據:
2.讀取excel文件指定的列。這里主要用到pandas這個包,以及其包含的read_excel函數,因為excel數據本來就是有一定格式的,所以讀起來就簡單了許多,這里我新建了一個excel文件,樣本數據如下:
對應讀取的代碼如下,這里以讀取1,3列數據為例,很簡單:
程序運行結果如下,已經成功列印出1,3列數據:
3.至於dat文件的話,這里提供一種可能思路,如果dat文件可以直接用記事打開的話,並且數據可以正常顯示,沒有亂碼的情況下,有一定的格式可循,可以將其看作一個普通文件,使用python的open函數進行讀取,將讀取的數據存儲在一個list列表中,或者使用特定軟體將其轉換成txt或excel文件後,再進行讀取。如果是特殊類型的文件,這個就不好說了,這里就要自己想辦法了。
至於後面如何進行可視化繪圖,我就不多說了,像matplotlib等數據可視化包都可以。至此,就完成了這3中類型文件的讀取,總的來說,實現起來不難,都有現成的包可直接利用,方便了許多,當然你也可以用其他包或者自己來實現,這個就因人而異了,只要能正常的讀取實驗數據就行,網上也有這方面的資料,你可以參考一下,希望以上分享的內容能對你有所幫助吧。
㈡ 1 如何用Python導入Excel以及csv數據集
Excel是一個二進制文件,它保存有關工作簿中所有工作表的信息
CSV代表Comma Separated Values 。這是一個純文本格式,用逗號分隔一系列值
Excel不僅可以存儲數據,還可以對數據進行操作
CSV文件只是一個文本文件,它存儲數據,但不包含格式,公式,宏等。它也被稱為平面文件
Excel是一個電子表格,將文件保存為自己的專有格式,即xls或xlsx
CSV是將表格信息保存為擴展名為.csv的分隔文本文件的格式
保存在excel中的文件不能被文本編輯器打開或編輯
CSV文件可以通過文本編輯器(如記事本)打開或編輯
excel中會有若干個表單,每個表單都會這些屬性:
行數(nrows) 列數(ncols) 名稱(name) 索引(number)
import xlrd //執行操作前需要導入xlrd庫
#讀取文件
excel = xlrd.open_workexcel("文件地址") //這里表格名稱為excel,文件的地址可以從文件的屬性中看到
#讀取表格表單數量
sheet_num= excel.nsheets // sheet_num為變數,其值為表格表單數量
#讀取表格表單名稱
sheet_name = excel.sheet_names() // sheet_name為變數,其值為表格表單名稱
#如果想要看到上述兩個變數,可以使用print()函數將它們列印出來
#想要讀取某個表單的數據,首先獲取表單 excel.sheet_by_index(0)
//表單索引從0開始,獲取第一個表單對象 excel.sheet_by_name('xxx')
// 獲取名為」xxx」的表單對象 excel.sheets()
// 獲取所有的表單對象 獲取單元格的內容:使用cell_value 方法 這里有兩個參數:行號和列號,用來讀取指定的單元格內容。
第一行的內容是:sheet.row_values(rowx=0)
第一列的內容是:sheet.col_values(colx=0)
CSV是英文Comma Separate Values(逗號分隔值)的縮寫,文檔的內容是由 「,」 分隔的一列列的數據構成的。在python數據處理中也經常用到。
import csv //執行操作前需要導入csv庫
#csv讀取
遍歷其中數據 csv_file = csv.reader(open(『文件地址』,』r』)) for x in csv_file print(x)
㈢ 如何在Python 中導入access 數據
Python操作Access資料庫步驟之1、建立資料庫連接
import win32com.client
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;'
conn.Open(DSN)
Python操作Access資料庫步驟之2、打開一個記錄集
rs = win32com.client.Dispatch(r'ADODB.Recordset')
rs_name = 'MyRecordset'#表名
rs.Open('[' + rs_name + ']', conn, 1, 3)
Python操作Access資料庫步驟之3、對記錄集操作
rs.AddNew()
rs.Fields.Item(1).Value = 'data'
rs.Update()
Python操作Access資料庫步驟之4、用sql來插入或更新數據
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;'
sql_statement = "Insert INTO [Table_Name] ([Field_1],
[Field_2]) VALUES ('data1', 'data2')"
conn.Open(DSN)
conn.Execute(sql_statement)
conn.Close()
Python操作Access資料庫步驟之5、遍歷記錄
rs.MoveFirst()
count = 0
while 1:
if rs.EOF:
break
else:
countcount = count + 1
rs.MoveNext()
注意:如果一個記錄是空的,那麼將指針移動到第一個記錄將導致一個錯誤,因為此時recordcount是無效的。解決的方法是:打開一個記錄集之前,先將Cursorlocation設置為3,然後再打開記錄集,此時recordcount將是有效的。例如:
rs.Cursorlocation = 3 # don't use parenthesis here
rs.Open('Select * FROM [Table_Name]', conn) # be sure conn is open
rs.RecordCount # no parenthesis here either
