python - 如何在 Python 中从我的桌面读取 CSV 文件?
问题描述
我正在尝试从我的桌面读取 CSV 文件:
我的代码如下:
import pandas as pd
import csv
from pathlib import Path
csv = r'C:\Users\nulli\OneDrive\Desktop\Work_Sample.csv'
df = pd.read_csv(csv, sep=',')
错误:
---> df = pd.read_csv(csv, sep=',')
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\nulli\\OneDrive\\Desktop\\Work_Sample.csv'
解决方案
你不应该对路径使用反斜杠,因为 Python 有一些特殊的转义字符\n
,比如换行符或\t
制表符。最简单的方法是始终使用标准斜杠。您还可以使用:
r"some_path\with\backslashes"
忽略转义字符并将所有反斜杠视为反斜杠。
但最好的方法是使用旨在处理路径的包。pathlib是一个很好的工具:
from pathlib import Path
my_csv = Path("C:/Usersnulli/OneDrive/Desktop/Work_Sample.csv")
df = pd.read_csv(my_csv.resolve(), sep=',')
resolve()
str
从 Path 对象返回一个。
而且我认为使用相对路径通常会更好——它们适用于每个人,而无需更新它们。例如,您可以使用脚本在工作区中创建一个data
文件夹并将文件放在那里。
此外,您可以查看此内容以获取有关 Python 中路径的更多详细信息。
推荐阅读
- visual-studio - 为什么我不能在 Visual Studio 中编译?
- python - 如何将作为字符串的负数转换为整数
- c# - Zoom Closed Captioning API 中是否存在字幕显示的滚动样式而不是字幕文本的“弹出”或“侧滚动”显示?
- visual-studio-2019 - SQL Server Express 静默安装
- jvm - 如何使用`MethodHandle`模仿`tableswitch`?
- c++ - 将谷歌地球引擎图像设置为网格中的纹理
- mysql - 没有主键的订单的MySQL项目?
- spring-boot - 如何注释我的 JUnit 测试,以便它以我的 Spring Boot 应用程序运行的方式运行?
- rest - Nginx 无法识别子文件夹
- c# - DeflateStream.Flush() 没有功能?