Как прочитать файл с разделенными пробелами значениями в пандах

Я пытаюсь прочитать файл в панд. Файл имеет значения, разделенные пробелами, но с другим количеством пробелов, которые я пробовал:

pd.read_csv('file.csv', delimiter=' ')

но это не работает

5 ответов

Решение

Добавлять delim_whitespace=True аргумент, это быстрее, чем регулярное выражение

Вы можете использовать регулярное выражение в качестве разделителя:

pd.read_csv("whitespace.csv", header=None, delimiter=r"\s+")

Pandas read_fwf для победы:

      import pandas as pd

df = pd.read_fwf(file_path)

Вы также можете передать регулярное выражение в качестве разделителя для read_table, и это быстро :).

      result = pd.read_table('file', sep='\s+')

Принятый ответ, похоже, не работает с новыми версиями Python, поэтому вот более свежий пример с использованием определенного пользователем диалекта:

 csv.register_dialect('skip_space', skipinitialspace=True)
 with open(my_file, 'r') as f:
      reader=csv.reader(f , delimiter=' ', dialect='skip_space')
      for item in reader:
          print(item)
Другие вопросы по тегам