2017-04-18 106 views
2

我有一個txt文件,我想用大熊貓讀它,蟒蛇大熊貓:嘗試讀取TXT文件,但顯示的NaN

enter image description here

,我寫道:

#!/usr/bin/python 

import pandas as pd 
import numpy as np 
TC=pd.read_csv('D885_Ch10_ZC.csv',error_bad_lines=False,encoding='gbk') 
df=pd.DataFrame(TC,columns=['t[s]','digits[]','Ch10_zc[V]']) 
print(df) 

和我發現數據被NaN取代,我不知道爲什麼。

enter image description here

出了什麼問題?


thx @jezrael的回答。它在我刪除了頂部的所有無用信息後生效。反正有沒有編輯原始文件呢?

+1

請發表您的實際輸入和輸出數據爲文本,而不是圖像。沒有人想要從圖像中輸入所有內容。 – languitar

+0

是的,謝謝你的友善提醒:) –

回答

2

我想你需要sep參數,因爲默認是sep=','

tab如果:

names=['t[s]','digits[]','Ch10_zc[V]'] 
df=pd.read_csv('D885_Ch10_ZC.csv', 
       sep='\t', 
       error_bad_lines=False, 
       encoding='gbk', 
       names=names, 
       skiprows=1) 

如果空格:

names=['t[s]','digits[]','Ch10_zc[V]'] 
df=pd.read_csv('D885_Ch10_ZC.csv', 
       sep='\s+', 
       encoding='gbk', 
       error_bad_lines=False, 
       names=names, 
       skiprows=1) 

names=['t[s]','digits[]','Ch10_zc[V]'] 
df=pd.read_csv('D885_Ch10_ZC.csv', 
       delim_whitespace=True, 
       encoding='gbk', 
       error_bad_lines=False, 
       names=names, 
       skiprows=1) 

,如果2個或多個空格:

names=['t[s]','digits[]','Ch10_zc[V]'] 
df=pd.read_csv('D885_Ch10_ZC.csv', 
       sep=r'\s{2,}', 
       engine='python', 
       encoding='gbk', 
       names=names, 
       skiprows=1) 

編輯:

需要改變skiprows到10

names=['t[s]','digits[]','Ch10_zc[V]'] 
df=pd.read_csv(StringIO(temp), 
       delim_whitespace=True, 
       encoding='gbk', 
       names=names, 
       skiprows=10) 
+0

thx它工作後,我刪除了頂部的所有無用的信息。 –

+0

請檢查編輯。 – jezrael

+0

thx很多!不勝感激! –