簡體   English   中英

從Python 3.4.3刪除csv文件中的特定行

[英]Delete specific rows in csv file from Python 3.4.3

我正在編寫我的第一個Python文件,該文件基本上可以獲取一些Web數據並將其保存到.csv文件中(並且可以正常工作,請參見下文)。

數據結構是一致的,但是具有由大約17行組成的標頭。 我想將csv導入SQL,但是它的頭數據有問題,即使我告訴它從第18行開始讀取等,除非我手動刪除第1-17行,否則它看不到數據。

我在想,最簡單的選擇就是刪除第1-17行,作為下面我的Python代碼的一部分。 但我不知道從哪里開始,所以不勝感激。

import urllib.request, urllib.parse, urllib.error

ASXCode = 'CSL'

url = 'http://chartapi.finance.yahoo.com/instrument/1.0/' + ASXCode + '.ax/chartdata;type=quote;range=1d/csv'
urllib.request.urlretrieve(url, "Intra_" + ASXCode + ".csv")

您可以這樣做,首先將網絡數據下載並保存到一個臨時文件中,然后將其復制到最終的目標文件中,但是跳過開頭的前17行。

import csv
import os
import urllib.request, urllib.parse, urllib.error

ASXCode = 'CSL'
local_filename = "Intra_" + ASXCode + ".csv"
url = ('http://chartapi.finance.yahoo.com/instrument/1.0/' + ASXCode +
       '.ax/chartdata;type=quote;range=1d/csv')

temp_filename, headers = urllib.request.urlretrieve(url)

with open(temp_filename, 'r', newline='') as inf, \
     open(local_filename, 'w', newline='') as outf:
    reader = csv.reader(inf)
    writer = csv.writer(outf)
    for _ in range(17):   # skip first 17 rows
        next(reader)
    writer.writerows(reader)  # copy the rest

os.remove(temp_filename)  # clean up
print('{} downloaded'.format(local_filename))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM