将CSV导入Python

2024-10-03 09:10:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个CSV数据集,如下所示:

FirstAge,SecondAge,FirstCountry,SecondCountry,Income,NAME
41,41,USA,UK,113764,John
53,43,USA,USA,145963,Fred
47,37,USA,UK,42857,Dan
47,44,UK,USA,95352,Mark  

我尝试用以下代码将其加载到Python 3.6中:

^{pr2}$

输出:

 [[             nan              nan              nan              nan
               nan              nan]
 [  4.10000000e+01   4.10000000e+01              nan              nan
    1.13764000e+05              nan]
 [  5.30000000e+01   4.30000000e+01              nan              nan
    1.45963000e+05              nan]
 ..., 
 [  2.10000000e+01   3.00000000e+01              nan              nan
    1.19929000e+05              nan]
 [  6.90000000e+01   6.40000000e+01              nan              nan
    1.52667000e+05              nan]
 [  2.00000000e+01   1.90000000e+01              nan              nan
    1.05077000e+05              nan]]

我看过那些裸体医生,但我没有看到任何关于这个的东西。在


Tags: csv数据namenanfredjohnmarkdan
3条回答

您可以使用dtype参数:

import numpy as np

output = np.genfromtxt("main.csv", delimiter=',', skip_header=1, dtype='f, f, |S6, |S6, f, |S6')

print(output)

输出:

^{pr2}$

使用pandas,这样可以省去您的麻烦:

import pandas as pd

df = pd.read_csv('first.csv')
print(df)

我认为您可能会遇到的一个问题是,您试图解析的数据不全是数字,这可能会导致意外行为。在

检测类型的一种方法是在将类型添加到数组之前尝试识别这些类型。例如:

for obj in my_data:
    if type(obj) == int:
        # process or add your data to numpy
    else:
        # cast or discard the data

相关问题 更多 >