2016-10-14 42 views
2

URL提供csv格式的數據。我正在嘗試獲取數據並將其推送到數據庫中。但是,我無法讀取數據,因爲它僅打印文件的標題並且未完成csv數據。能有更好的選擇嗎?從url中讀取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) 
+0

您能否提供一個網址以便我們重現? – MaxU

+0

對不起,我沒有提及,由於安全限制,無法提供URL。但它確實發出了一個CSV數據。 response.headers ['content-type'])輸出: text/csv; charset = utf-8 response.encoding輸出: utf-8 – r0xette

+0

這將很難幫助您無法重現此問題。如果您使用'requests'來讀取您的網址 - 它的內容是否看起來像一個普通的CSV文件? – MaxU

回答

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中插入數據,雖然我用熊貓來合併來自多個來源的數據,而不僅僅是閱讀文件。

備註:還有很多其他的方法可以做到這一點,而不需要熊貓,只需遍歷文件的行。然而熊貓對CSV的直覺處理使得它成爲你所需要的有吸引力的捷徑。

+0

這正是我一直在尋找的:)謝謝先生。 – r0xette

相關問題