我试图有一个函数,在录音文件的路径作为输入,并将其转换为一个Pandas点阵
下面是代码:
import pandas as pd
import numpy as np
from asammdf import MDF, Signal
def FileConverter(FilePath):
DF01 = MDF(FilePath)
DF01 = DF01.to_dataframe()
return DF01
当我通过提供文件路径使用上述代码时:
DF01 = FileConverter('C:\Users\hsr4ban\Desktop\Temp\DAT_to_DataFrame\Testing.dat')
print(DF01)
我得到以下错误:
Input In [79]
DF01 = FileConverter('C:\Users\hsr4ban\Desktop\Temp\DAT_to_DataFrame\Testing.dat')
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
但是,如果使用相同的代码,如下所示,在路径的配置中添加r“或”\“:
DF01 = FileConverter(r'C:\Users\hsr4ban\Desktop\Temp\DAT_to_DataFrame\Testing.dat')
DF01
或
DF01 = FileConverter('C:\\Users\hsr4ban\Desktop\Temp\DAT_to_DataFrame\Testing.dat')
DF01
问题就解决了。
但是当我们从计算机复制文件链接时,链接显示如下:'C:\Users\hsr4ban\Desktop\Temp\DAT_to_DataFrame\Testing.dat'
想知道是否有一种方法可以只粘贴从计算机复制的链接而不会出错?我试着在网上寻找一些解决方案,但仍然找不到正确的解决方案。
任何建议都将非常有帮助。
3条答案
按热度按时间wmtdaxz31#
我建议使用模块操作系统。还将有助于使代码在不同的操作系统(Linux/Windows/MacOS)之间兼容。
然后将变量FilePath提供给函数FileConverter,这应该可以解决问题。
此外,您可以使用相同的os模块读取文件的完整路径。
在这种情况下,你应该这样做:
这将生成一个列表,然后从中选择正确的列表。例如,如果您的文件位于第一个位置,并且想要文件的完整路径:
eqfvzcg82#
只需将
r
前缀添加到字符串,将其转换为raw
模式例如:
使用原始字符串模式
或
使用转义格式
或
使用Linux路径格式
a1o7rhls3#
你的任务不是为了你的思维方式而攻击python。你的任务是改变你的思维方式,以便更好地编写Python代码。所以,首先,请告诉我-你将如何(或从哪里)获得文件路径字符串?
变体2 -您将硬编码它。因此,写入
R
转发“C:\t\file_name.md5”变体3 -从文件读取。你会读到这样的行列表:
所以-停止硬编码windows路径文字没有向前
R
,你会很高兴。