我正在尝试将以下字符串转换为Pandas数据帧:
'2477\t1974\t89.104.195.179\tDK\t17\t212711\x00\n1974\t2370\t212.10.164.160\tDK\t19\t213017\x00\n1974\t2370\t87.50.40.214\tDK\t17\t56743\x00\n'
我遇到的问题是pandas会根据需要将每个值转换为自己的列,而不是6列和3行。
pd.read_csv(StringIO(data), sep='\t', lineterminator='\n', names=['a','b','c','d','e','f'])
我尝试过使用其他一些read_csv参数但没有成功。我做错了什么?
答案 0 :(得分:1)
通过指定原始sep
和lineterminator
,它可以正常运行:
from StringIO import StringIO
import pandas as pd
data = '2477\t1974\t89.104.195.179\tDK\t17\t212711\x00\n1974\t2370\t212.10.164.160\tDK\t19\t213017\x00\n1974\t2370\t87.50.40.214\tDK\t17\t56743\x00\n'
df = pd.read_csv(StringIO(data), sep=r'\t', lineterminator=r'\n', names=['a','b','c','d','e','f'])