如何使用IPad读取Pythonista的csv文件



我是Python的新手,我正在努力学习如何读写csv文件。我在iPad上用Pythonista编程,遇到了一个似乎无法解决的问题。我想读取一个csv文件,由于iOS文件管理应用程序有限,我不知道该文件的目录。csv文件位于我的python文件所在的同一文件夹中。我在谷歌上发现,我可以通过使用以下代码找到绝对目录:

import os print(os.path.abspath("google_stock_data.csv"))

哪个吐出来:

/private/var/mobile/Library/Mobile Documents/iCloud~com~omz-software~Pythonista3/Documents/google_stock_data.csv

好了,现在来谈谈我的问题:

import csv
path = "/private/var/mobile/Library/Mobile Documents/iCloud~com~omz-software~Pythonista3/Documents/google_stock_data.csv"
file = open(path, newline= '')
reader = csv.reader(file)
header = next(reader)
data = [row for row in reader]
print(header)
print(data[0])

上面的代码给了我错误:

FileNotFoundError: [Errno 2] No such file or directory: '/private/var/mobile/Library/Mobile Documents/iCloud~com~omz-software~Pythonista3/Documents/google_stock_data.csv'

我知道这个文件存在,目录应该是正确的,因为我也尝试过用pathlib找到它,结果是一样的。

那么,是什么导致了这个问题呢?

尝试使用with open()(读取(语法。我有一些非常相似的东西,这对我很有效。你的道路是正确的。

with open(path, 'r', encoding='utf-8') as reader:
        reader = csv.DictReader(reader)
        for row in reader: 
            # ...do stuff

问题在于我如何命名文件。我想要打开的csv文件的名称被称为"csv";google_stock_data.csv";。请注意,这是文件名,在末尾不包含其文件后缀(应为".csv"(。

如果要使用file = open(...),还必须在文件名末尾添加文件后缀。

这意味着在我的情况下应该是这样的:

file = open('google_stock_data.csv.csv', newline= '')

如果你的代码所在的文件夹中有文件,那么不需要用print(os.path.abspath("enter_file_name"))找到绝对路径。如果你这样做了,无论出于什么原因,都不要忘记在末尾添加文件后缀。

至于如何从文件中输出任何东西,包括我的代码和

with open(path, 'r', encoding='utf-8') as reader:
    reader = csv.DictReader(reader)
    for row in reader: 
        # ...do stuff

如果您在声明path的末尾添加.csv,那么来自@Michael M.的工作非常好。

相关内容

  • 没有找到相关文章

最新更新