python讀取dat文件
① 如何優雅地將dat,txt 或者excel 文件導入python
作者:iamzcr
鏈接:https://www.hu.com/question/33535414/answer/56860505
來源:知乎
著作權歸作者所有,轉載請聯系作者獲得授權。為什麼一定要用python呢,你用excel寫一條公式,類似於:
=array('filter'=>"&A&")
然後按住右下角的十字架,一直往下拖,一堆數組就出來了,然後用php寫進去就好了#-*- coding: utf-8 -*-
#encoding=utf-8
import Mysqldb
import xlrd
#打開excel
data = xlrd.open_workbook('testpython.xls')
#根據名字拿到excel的某個表
table = data.sheet_by_name('Sheet1')
#行數
nrows = table.nrows
for rownum in range(1,nrows):
row = table.row_values(rownum)
print len(row)
# 打開資料庫連接
db = MySQLdb.connect("localhost","root","","pythonmysql" )
#鏈接資源
cursor = db.cursor()
# SQL 插入語句
sql = 'insert into pyuser (username,password, email, qq) values("%s", "%s","%s","%s")' %
(row[0],row[1],row[2],row[3])
print sql
try:
# 執行sql語句
cursor.execute(sql)
# 提交到資料庫執行
db.commit()
except:
db.rollback()
# 關閉資料庫連接
db.close()
② 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中類型文件的讀取,總的來說,實現起來不難,都有現成的包可直接利用,方便了許多,當然你也可以用其他包或者自己來實現,這個就因人而異了,只要能正常的讀取實驗數據就行,網上也有這方面的資料,你可以參考一下,希望以上分享的內容能對你有所幫助吧。
③ .csv文件製作成.dat文件。改擴展命試過了,亂碼。還有其他的方法沒。求大神指教
首先看一下手機是否有信號。其次看一下你手機網路是否穩定。再看一下你是否多次發送被限制了。在看一下是否被簡訊攔截了。最後你可以撥打客服電話咨詢一下。首先看一下手機是否有信號。其次看一下你手機網路是否穩定。再看一下你是否多次發送被限制了。在看一下是否被簡訊攔截了。最後你可以撥打客服電話咨詢一下。可以的,如果你還記得該虛擬機的安裝路徑,運行你的虛擬機軟體,點擊「打開虛擬機」,選擇好路徑就能夠打開,然後會顯示在原本的地方,至於是不是首頁就不太記得,不想開~你可以試試看
④ 請問python中如何讀取一個csv或者dat文件,並儲存為一個二維數組
和普通文件一樣讀取。csv中文件數據項有逗號劃分開。
infile = open("data.csv", 'r')
for line in infile:
data = line.rstrip().split(',')
print(data)
⑤ python3.5讀取sas7bdat文件是怎麼消除亂碼
想利用python3.5讀取大型sas7bdat格式數據集中的數據,但是數據集中有「男」、「女」以及觀測單位名稱的中文,嘗試使用panda模塊,sas7bdat模塊都無法解決中文亂碼問題,嘗試方法例如『encoding = 『utf8』等,有方法解決嗎?
已經自己研究出來了,使用sas7bdat.SAS7BDAT('E:\\sample.sas7bdat',encoding='gb2312')
pandas中的似乎有些不適用
⑥ python如何從一個文件夾中讀取多個.dat文件
用glob模塊,指定後綴.dat,即可。
importglob
dir='homeyour_data_file'
forfinglob.glob(dir+'*.dat'):
contents=open(f,'r').read()
⑦ python中如何將很多個音頻文件存放在一個dat文件中或者dll中
這么做有什麼好處呢? 隱藏技術細節?
dat有可能是資料庫,python沒有dll
所以本質上你的問題就是python如何存取二進制文件
⑧ python編程:如何將一個包含若干整數的List寫入dat文件中
數字不能直接寫入,可以做一下轉換str(i)再寫入
⑨ python 讀取文件
#!/usr/bin/python2.7
import random,re
f0=file('proxys.txt','r')
dat0=f0.readlines()
f0.close()
#提取含有$1sec的行(我理解你想按sec的大小排序。)
dat1=[]
for i in dat0:
dat1.append((i,re.search(r'\$(\d+)sec',i).group(1)))
#現在dat1裡面的數據是在原來的每一行前面加了一列sec的值。
dat2=[]
for i in dat1:
if i[0]==1:
dat2.append(i[1])
#現在取出了所有sec==1的行,隨機取一行
dat3=random.choice(dat2)
c1=re.search(r'((\d{1,3}\.?){4}):(\d+)',dat3).group(1)
c2=re.search(r'((\d{1,3}\.?){4}):(\d+)',dat3).group(3)
⑩ python3 怎麼讀取位元組對象
1. python讀取二進制文件
讀取二進制文件並保存為Long型 (讀取原文件通過UltraEdit查看16進制編碼是「78 56 34 12」)
#以二進制的方式讀取文件
#coding: UTF-8
fileData = open('/home/ubuntu/staff_sample.dat','rb')
#讀取文件的前4個位元組 #將讀取的4個位元組轉換為long
data_id = struct.unpack("l",fileData.read(4))
print data_id
列印的結果是305419896。