如何将.txt文件作为整数导入DataFrame,而不是字符串?

时间:2017-01-04 16:18:53

标签: python python-2.7 dataframe import-from-csv

我有file.txt:

1,2,3,4;5,6
7,8,2,1;
2,9;1

我需要将这些数据导入到DataFrame中以“;”分隔的列,所以我这样做:

import pandas as pd
data = pd.read_csv('file.txt', sep = ';', names = ['Col1', 'Col2'])
data = data.fillna('0')

结果我得到了:

Col1       Col2
1,2,3,4    5,6
7,8,2,1    0
2,9        1

行有字符串格式。但我需要在每一行中使用整数或整数列表,例如:

Col1       Col2
[1,2,3,4]  [5,6]
[7,8,2,1]  [0]
[2,9]      [1]

或只是数字,不是字符串,没有列表。怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用dtype的{​​{1}}或converters关键字:

pandas.read_csv

答案 1 :(得分:1)

要获取每个单元格中的整数列表,您可以使用以下内容:

for col in data.columns:
    data[col] = data[col].apply(lambda x: [int(y) for y in x.split(',')])

data.head()

    Col1            Col2
 0  [1, 2, 3, 4]    [5, 6]
 1  [7, 8, 2, 1]    [0]
 2  [2, 9]          [1]