使用 Pandas 导入时如何跳过 .txt 文件中大于/小于 6 的值的行

Sam*_*wal 5 python pandas

我有一个 170k 行的 .txt 文件。我正在将 txt 文件导入熊猫。

每行都有多个用逗号分隔的值。
我想提取具有 9 个值的行。

数据文件片段

我目前正在使用:

data = pd.read_csv('uart.txt', sep=",")
Run Code Online (Sandbox Code Playgroud)

mrE*_*enX 2

您应该尝试的第一件事 - 预处理文件。

import csv
with open('uart.txt', 'r') as inp, open('uart_processed.txt', 'w') as outp:
    inp_csv = csv.reader(inp)
    outp_csv = csv.writer(outp)
    for row in inp_csv:
        if len(row) == 9:
            outp_csv.writerow(row)
Run Code Online (Sandbox Code Playgroud)

可以有更有效的方法来做到这一点,但这是您可以做的最简单的事情,它完全删除无效行。

正如 @ksooklall 回答的那样,如果为了简单起见您只需要 2 列:

  • [a,b,c,d] 将在您的 DataFrame 中作为 [a, b]
  • [e] 作为 [e, Nan]

因此,如果您对此表示同意,请继续,无需进行任何预处理。