我可以在打开 txt 文件时保存导入设置吗?

Can I save the import settings while opening a txt file?

我是 Python 的新手,想将其用于我的质谱数据分析。我有一个由制表符分隔的 txt 文件。我可以用导入助手将它导入到 Excel 中。 我还设法使用导入助手将它导入到 spyder 中,但我想自动化该过程。 有没有办法“记录”我在手动加载数据时使用的导入设置?这样我就可以生成一个代码,将来可以用于其他 txt 文件。

我试过使用 NumPy 和 pandas 导入我的数据,但我的 txt 文件包含字符串和数字(​​浮点数),我没能告诉 Python 区分这两者。

在手动导入文件时,我得到了我想要的 exat DataFrame,第一行是 header,字符串和数字格式正确。

这是我的 txt 文件的示例:

    Protein.IDs Majority.protein.IDs    Peptide.counts..all.
0   LmxM.01.0330.1-p1   LmxM.01.0330.1-p1   5
1   LmxM.01.0410.1-p1   LmxM.01.0410.1-p1   15
2   LmxM.01.0480.1-p1   LmxM.01.0480.1-p1   14
3   LmxM.01.0490.1-p1   LmxM.01.0490.1-p1   27
4   LmxM.01.0520.1-p1   LmxM.01.0520.1-p1   27

使用 numpy 或 pandas 是自动化该过程的最佳方式,所以使用正确的工具做得很好。 我建议您查看 pandas read_csv 函数必须提供的所有选项。很可能只有一行代码可以通过使用正确的选项正确导入数据。 特别是,如果浮点数未正确解析,请查看 decimal 选项。

即使您正确使用 pandas,您可能仍想使用的其他解决方案是:

  • 格式化输入数据以使您的生活更轻松:在生成数据时,或使用一些具有良好宏的记事本(Notepadd++ 可以替换表达式或为您完成繁琐的重复击键)。
  • 正在格式化 pandas 导入的输出。如果您仍然有应该被解释为数值的字符串,也许您可​​以 运行 一个循环来检查所有值是否都以它们应该采用的格式转换。

最后,当您提出技术问题时,您可能希望提供一些示例:显示数据示例、您正在使用的代码以及代码的输出将使您更容易回答您的问题:)

编辑:

根据您发布的数据示例,在我看来 pandas 应该可以很好地分离数据并且可以毫无问题地检测字符串和数值。 查看 read_csv 的选项 sep。默认是',',你可能想把它切换成表格:'\t'

试试这个:

pandas.read_csv(my_filename, sep='\t')

您可能 运行 遇到一些 header 问题,您可以使用 headernames 选项解决这些问题。