如何解决从没有列标题的 .csv 文件中删除整列 - 简单问题
我只想从 .csv 文件中完全删除第 6 到 11 列。不幸的是,实施在线找到的解决方案并没有得到任何修复。大多数解决方案删除。列由其列标题标识,但是,我的 .csv 文件没有列标题,因为没有它们以后会更容易。
from binance.client import Client
import config,csv
import pandas as pd
client = Client(config.apikey,config.apisecret)
candles = client.get_klines(symbol='ETHUSDT',interval=Client.KLINE_INTERVAL_1HOUR)
csvfile = open('1hour_dec2020_2021.csv','w',newline='')
candlestick_writer = csv.writer(csvfile,delimiter=',')
candlesticks=client.get_historical_klines('ETHUSDT',client.KLINE_INTERVAL_1HOUR,"1 Dec 2020","1 Jan 2021")
for candlestick in candlesticks:
candlestick_writer.writerow(candlestick)
csvfile.close()
.csv 文件中的示例行:
1502942400000,301.13000000,302.57000000,298.00000000,301.61000000,125.66877000,1502945999999,37684.80418100,129,80.56377000,24193.44078900,47039.70675719
对应于币安 kline 响应
删除不需要的列最好会导致:-timestamp,o,h,l,c,v
1502942400000,125.66877000
解决方法
您可以使用 itemgetter()
从每一行中选择所需的值。在您的情况下,它们是连续的,因此您也可以使用一个简单的切片:
from operator import itemgetter
from binance.client import Client
import config,csv
required_cols = itemgetter(0,1,2,3,4,5) # specify required columns
client = Client(config.apikey,config.apisecret)
with open('1hour_dec2020_2021.csv','w',newline='') as csvfile:
candlestick_writer = csv.writer(csvfile)
candlesticks = client.get_historical_klines('ETHUSDT',client.KLINE_INTERVAL_1HOUR,"1 Dec 2020","1 Jan 2021")
for candlestick in candlesticks:
candlestick_writer.writerow(required_cols(candlestick))
# or just use a slice if contiguous
# csv_output.writerow(candlestick[:6])
使用 with()
避免了还需要添加 close()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。