gpt4 book ai didi

python - '_csv.reader' 类型的对象没有 len(),无法识别 csv 数据

转载 作者:太空宇宙 更新时间:2023-11-03 15:58:21 24 4
gpt4 key购买 nike

下面是一个独立的例子。更改“folder_name”以运行它。这回答:

reader type = _csv.reader
list(reader) = []
_csv.reader' has no len()

我已经尝试了很多方法,但仍然无法访问数据,尽管它在文件中。任何帮助都将非常受欢迎。伯尔尼

################  INPUTS  ################
folder_name = '/Users/Shared/TS1/Historiques Dividendes/'
path_to_inter_file = folder_name + 'interm.csv'

################ End INPUTS ################
################ MAIN ################
## --- Creates "inter" file after removing previous one if existed
if os.access(path_to_inter_file, os.W_OK) == True:
os.remove(path_to_inter_file)
if os.access(path_to_inter_file, os.W_OK) == False:
finter = open(path_to_inter_file,'w')

## --- Gets data from an URL
URL = "<http://chart.finance.yahoo.com/table.csv?s=XLB&a=0&b=24&c=1980&d=0&e=24&f=2040&g=v&ignore=.csv'>"
data = requests.get(URL)

## --- Loads data into "inter" file
finter.write(data.text)
finter.close

## --- Reopens "inter" file to read data
finter = open(path_to_inter_file,'r')
mreader = csv.reader(finter,delimiter=',')
print type(mreader)
list(mreader)
print list(mreader)
len(mreader)

## --- Closes "inter" file and removes it
finter.close()
os.remove(path_to_inter_file)

################ End MAIN ################

最佳答案

mreader 是一个迭代器。它没有长度。

但是你在之前的行中将它消费到一个列表中,所以你可以这样做:

mreader = list(mreader)

将迭代器转换为一个实际的行列表,它现在有一个len

旁白:finter.close 什么都不做。使用 finter.close()with 上下文 block 自动处理。

关于python - '_csv.reader' 类型的对象没有 len(),无法识别 csv 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41909314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com