我使用下面的代码从s3 bucket中读取iris数据集。
import pandas as pd
import s3fs
s3_path = 's3://h2o-public-test-data/smalldata/iris/iris.csv'
s3 = s3fs.S3FileSystem(anon=True)
with s3.open(s3_path, 'rb') as f:
df = pd.read_csv(f, header = True)
字符串
但是,列名只是数据集第一行的内容。我如何解决这个问题?
2条答案
按热度按时间q5iwbnjs1#
需要作出以下改动:
s3://
。iris.csv
是一个没有头的文件。如果你需要一个有头的文件,那么你应该选择iris_wheader.csv
文件。1.在
read_csv
头接受布尔值您的最终代码应该如下所示
字符串
编辑:您可以直接在pandas中读取文件,如下所示:
型
你仍然需要安装s3fs。只是不需要打开文件来访问它。
xzv2uavs2#
所有参数请参见https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html。
如果没有包含列名的CSV,则可以使用
names
参数指定所需的名称。在这种情况下,不需要将header
设置为True。字符串