我有一个csv文件,我必须在jupyter notebook中使用np.genfromtxt()读取它。(不幸的是,我不能使用pd.read_csv()甚至其他pandas函数或方法。)与其向您展示文件,不如让我给予您一个例子。文件如下:
Item,Color,Price
iPhone,Red,"1,000"
Galaxy,Black,"1,100"
我做了一个代码,可以读取这样的csv文件:
def csv_opener(path):
with open(path, 'r') as f:
first_line = f.readline()
num_col = len(first_line.split(','))
return np.genfromtxt(path, delimiter=',', dtype=None, usecols=range(num_col))
你可以看到Price值中有逗号。但是由于分隔符被设置为逗号,“csv_opener”函数将文件读取为:
iPhone | Red | '"1' | '000"'
下面是问题。
1.如何让我的“csv_opener”函数将双引号的值识别为1?(不是“1|'000”' -〉'1,000')
1.我如何在阅读它们之后更改数据类型?(不是'1,000' -〉数字类型,如整数/浮点数)
1条答案
按热度按时间wlwcrazw1#
使用Python csv模块即可。
CSV是一种文本格式,因此您将从中获得的唯一类型是字符串。您可以创建类似于数据库表的东西,并将数据传输到特定类型。尽管这取决于字符串表示是否一致并且对于接收类型正确。