繁体   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