Pandas读取csv正在移动列

kmbjn2e3  于 2023-01-06  发布在  其他
关注(0)|答案(4)|浏览(212)

我正在尝试创建一个csv文件的 Dataframe ,其中有4个空列。当我在LibreOffice或Excel中打开它时,它正确地识别了空列。但是,使用pd.read_csv()打开时,列的值会移动一位。
我该怎么解决这个问题呢?好像是Pandasread_csv()方法的问题。
我的代码非常标准:

import pandas as pd
df = pd.DataFrame.read_csv('csv_file.csv', sep=',')
df.head()

我更改了标题并使用了以下内容:

df = pd.DataFrame.read_csv('csv_file.csv', sep=',', index_col=False).

这解决了这个问题,但是在我之前的标题中是什么导致了这个问题呢?

gfttwv5a

gfttwv5a1#

看起来您需要参数index_col=False来NOT读取read_csv中要索引的第一列,sep=','参数可以省略,因为它是默认值:

df = pd.read_csv('csv_file.csv', index_col=False)

您的样品:

df = pd.read_csv('teste2.csv', index_col=False)
print (df)
  Header1 Header2  Header3  Unnamed: 3  Unnamed: 4  Header4  Header5  Header6  \
0     ptn  M00001        0         NaN         NaN        2        0        0   

   Header7  Header8    ...     Header22  Header23  Header24  Header25  \
0        0  -31.573    ...       -0.375       0.0   -64.168   276.586   

   Header26  Header27  Unnamed: 29  Unnamed: 30  Header28  Header29  
0    -0.232       0.0          NaN          NaN     0.702       1.0  

[1 rows x 33 columns]
6ioyuze2

6ioyuze22#

如果您的行以分隔符(此处为逗号[,])结尾,则会出现问题,这会创建一个在MS Excel中通常不可见的空单元格。

1,2282816,102.97245065789474,2432,0.8333333333333334,0.1388888888888889,certain,

然后将其修改为:

1,2282816,102.97245065789474,2432,0.8333333333333334,0.1388888888888889,certain

并且pd.read_csv(fileName)将工作良好。

envsm3lx

envsm3lx3#

我也遇到过类似的问题,以下是我的解决方法:
1.在Google Drive上使用Google电子表格打开Excel文件
1.下载的电子表格为csv文件
1.通过pandas.read_csv('filename', sep=',', index_col=False))读取csv文件
问题解决。

aiqt4smr

aiqt4smr4#

如果没有标题,尝试在每列的顶部写标题。这次,read_csv()也读取标题并列出它们。
然后,通过以下方式将 Dataframe 转换为数组

df=df.values

标题也没了。

相关问题