相关疑难解决方法(0)

将excel中的某些列读取到数据框

我想将 Excel 文件中的某些列读入数据框中,但是我想用列标题名称指定该列。

例如,我有一个 Excel 文件,在第 2 表中有两列:A 列中的“数字”和 B 列中的“外键”)。我想将“外键”导入到数据框中。我使用以下脚本执行此操作:

xl_file = pd.read_excel('D:/SnapPython/TestDF.xlsx', sheet_name='Sheet 2', usecols=[0,1]) 
Run Code Online (Sandbox Code Playgroud)

它在我的 xl_file 中显示以下内容:

       number ForeignKey
0       1        abc
1       2        def
2       3        ghi
Run Code Online (Sandbox Code Playgroud)

如果列数较少,我可以通过指定usecols=[1]. 但是,如果我有很多列并且知道列名模式,那么通过指定列名会更容易。我尝试了以下代码,但它给出了空数据框。

xl_file = pd.read_excel('D:/SnapPython/TestDF.xlsx', sheet_name='Sheet 2', usecols=['ForeignKey']) 
Run Code Online (Sandbox Code Playgroud)

根据以下链接中的讨论,上面的代码运行良好,但对于read_csv.

[如何在使用 Pandas 读取 csv 文件时删除它的特定列?

有没有办法做到这一点来读取excel文件?

先感谢您

python dataframe pandas

6
推荐指数
1
解决办法
1万
查看次数

在熊猫中使用to_csv时删除一些列

我有一个要写入两个文件的数据框,一个包含所有列,一个仅包含列的子集,因此对于此数据框:

 Out_data
 Out[9]: 
    A     B                 C          D       E         F
0  354   49985400          10          07   7.140899  0.212044
1  738   49985400          10          07   7.140899  0.212044
2  738   49985277          11          09   4.024423  0.098387
3  246   49985279          10          07   7.140899  0.212044
Run Code Online (Sandbox Code Playgroud)

我想将其导出到两个csv文件中,一个包含所有数据,第二个仅包含来自A,B,C和D列的数据,以便csv看起来像这样:

  A,B,C,D,E,F
354,49985400,10,07,7.140899,0.212044
738,49985400,10,07,7.140899,0.212044
738,49985277,11,09,4.024423,0.098387
246,49985279,10,07,7.140899,0.212044
Run Code Online (Sandbox Code Playgroud)

第二个看起来像:

  A,B,C,D
354,49985400,10,07
738,49985400,10,07
738,49985277,11,09
246,49985279,10,07
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法获取第一个文件:

Out_data.to_csv(filename, mode = 'w', index=False)
Run Code Online (Sandbox Code Playgroud)

我尝试使用

Out_data.to_csv(filename, mode = 'w', cols = ['A','B','C','D'] ,index=False)
Run Code Online (Sandbox Code Playgroud)

但是我仍然走完全相同的输出文件吗?如何获取to_csv进行导出但删除某些列?

python pandas

1
推荐指数
1
解决办法
2444
查看次数

标签 统计

pandas ×2

python ×2

dataframe ×1