проблема с преобразованием файла .dat в файл .csv - PullRequest
0 голосов
/ 02 октября 2019

Привет, ребята, я пытаюсь конвертировать .dat файл в. CSV однако я не в состоянии. Пожалуйста, потерпите меня, поскольку я все еще новичок в Python.

вот мой код:

import pandas as pd
from io import StringIO 

with open('blk01530.dat','r') as f:
    df = pd.DataFrame(l.rstrip().split() for l in f)

print(df)

и вот ошибка, которую я получил

Traceback (most recent call last):
  File "/Users/sunqinan/Desktop/FYP/convertdat.py", line 5, in <module>
    df = pd.DataFrame(l.rstrip().split() for l in f)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/core/frame.py", line 445, in __init__
    data = list(data)
  File "/Users/sunqinan/Desktop/FYP/convertdat.py", line 5, in <genexpr>
    df = pd.DataFrame(l.rstrip().split() for l in f)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf9 in position 0: invalid start byte

пожалуйстапомогите мне, так как я пытался в течение нескольких часов, и вот как выглядит мой файл .dat

1 f9be b4d9 4243 1300 0000 0020 5f7f ef93
2 ff4f 1dc9 dd08 3798 9dbe f46a 2b6d 1b8c
3 2a08 1c00 0000 0000 0000 0000 9763 8a53
4 c3c1 8718 9b60 c677 2d4a 648a d3ce a6ba
5 d936 e047 28d0 7f57 93b9 433f eeb8 665c
6 886f 2e17 4381 e91a fd5f 0b01 0000 0000
7 0101 0000 0000 0000 0000 0000 0000 0000

1 Ответ

0 голосов
/ 02 октября 2019

Прежде всего DataFrame берет список, поэтому вам нужно правильно понять список. Попробуйте следующее:

with open('blk01530.dat', 'r') as f:
    df = pd.DataFrame([l.rstrip() for l in f.read().split()])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...