我想将 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文件?
先感谢您
我有一个要写入两个文件的数据框,一个包含所有列,一个仅包含列的子集,因此对于此数据框:
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进行导出但删除某些列?