从url读取csv并通过pandas将其推送到DB中

时间:2016-10-14 15:50:20

标签: python python-3.x pandas python-requests

URL提供csv格式的数据。我试图获取数据并将其推送到数据库中。但是,我无法读取数据,因为它只打印文件的标题而不是完整的csv数据。可以有更好的选择吗?

#!/usr/bin/python3

import pandas as pd
data = pd.read_csv("some-url") //URL not provided due to security restrictions. 

for row in data:
    print(row)

1 个答案:

答案 0 :(得分:3)

您可以遍历df.to_dict(orient="records")

的结果
data = pd.read_csv("some-url")
for row in data.to_dict(orient="records"):
    # For each loop, `row` will be filled with a key:value dict where each
    # key takes the value of the column name.
    # Use this dict to create a record for your db insert, eg as raw SQL or
    # to create an instance for an ORM like SQLAlchemy.

我做类似的事情来预先格式化SQLAlchemy插入数据,尽管我使用Pandas来合并来自多个源的数据,而不仅仅是读取文件。

旁注:如果没有Pandas,还有很多其他方法可以做到这一点,只需遍历文件的行。然而,Pandas对CSV的直观处理使其成为您所需要的有吸引力的捷径。