簡體   English   中英

python pandas:嘗試讀取txt文件,但顯示為NaN

[英]python pandas: try to read txt file but showed NaN

我有一個txt文件,我想和熊貓一起閱讀,

在此處輸入圖片說明

我寫道:

#!/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取代了,我不知道為什么。

在此處輸入圖片說明

怎么了?


thx @jezrael的答案。 在刪除頂部所有無用的信息后,此方法將起作用。 無論如何,不​​編輯原始文件就可以這樣做嗎?

我認為您需要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 )

編輯:

需要將增加的行數更改為10

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM