Как прочитать файл с разделенными пробелами значениями в пандах
Я пытаюсь прочитать файл в панд. Файл имеет значения, разделенные пробелами, но с другим количеством пробелов, которые я пробовал:
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)