我对Python相当陌生,我正在努力学习如何读和写csv文件,我正在用Pythonista在我的iPad上编程,我遇到了一个我似乎无法解决的问题。我想读取一个csv文件,由于iOS文件管理应用程序有限,我不知道该文件的目录。csv文件位于我的python文件所在的文件夹中。我在google上发现,我可以使用以下代码找到绝对目录:
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查找它,结果是相同的。
那么是什么导致了这个问题呢?
发布于 2021-01-08 12:19:36
问题在于我如何命名我的文件。我想打开的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如果将.csv添加到声明path的末尾,则可以使用@Michael。
发布于 2020-06-07 12:38:21
尝试使用with open() (读)语法。我有一些非常相似的东西,这对我来说很管用。你的道路是正确的。
with open(path, 'r', encoding='utf-8') as reader:
reader = csv.DictReader(reader)
for row in reader:
# ...do stuffhttps://stackoverflow.com/questions/60551139
复制相似问题