Я действительно решил, я просто использовал: pd.read_csv (BytesIO (file_data.data))
Существует множество причин, по которым файл может быть недоступен для записи, например:
Вы можете проверить некоторые из них, но единственный способ проверить это - попытаться открыть файл для записи.
Вы можете использовать GetAttr и SetAttr выполняет функции поиска и изменения флага только для чтения.
Некоторые причины невозможности записи файла вообще не могут быть исправлены (например, файл на CD-ROM) или не могут быть исправлены из вашей программы , Если учетная запись пользователя не имеет разрешения на запись в файл, она '
'Getting and Setting File Attributes
Declare Function SetFileAttributes Lib "kernel32" _
Alias "SetFileAttributesA" (ByVal lpFileName As _
String, ByVal dwFileAttributes As Long) As Long
Declare Function GetFileAttributes Lib "kernel32" _
Alias "GetFileAttributesA" (ByVal lpFileName As _
String) As Long
Public Function GetAttributes(Filename As String, _
Archive As Boolean, Hidden As Boolean, _
ReadOnly As Boolean, System As Boolean)
'Dimension and setup some variables.
Dim Data As Long
Archive = False: Hidden = False: ReadOnly = False
'Get Data and check for success.
Data = GetFileAttributes(Filename)
If Data = 0 Then GetAttributes = 0 Else GetAttributes = 1
'Work out what it is.
If Data = 128 Then Exit Function
If Data - 32 >= 0 Then Archive = True: Data = Data - 32
If Data - 4 >= 0 Then System = True: Data = Data - 4
If Data - 2 >= 0 Then Hidden = True: Data = Data - 2
If Data - 1 >= 0 Then ReadOnly = True: Data = Data - 1
End Function
Public Function SetAttributes(Filename As String, _
Archive As Boolean, Hidden As Boolean, _
ReadOnly As Boolean, System As Boolean)
'Dimension a Variable.
Dim Data As Long
'Work out what Data should be.
Data = 0
If Archive = True Then Data = Data + 32
If Hidden = True Then Data = Data + 2
If ReadOnly = True Then Data = Data + 1
If System = True Then Data = Data + 4
If Data = 0 Then Data = 128
'Set the attributes and check for success.
SetAttributes = SetFileAttributes(Filename, Data)
End Function
Использование GetAttr и SetAttr
Dim attributes As VbFileAttribute
attributes = GetAttr("C:\foo.txt")
If (attributes And vbReadOnly) Then
attributes = attributes - vbReadOnly
SetAttr "C:\foo.txt", attributes
End If
Использование FileSystemObject (требуется ссылка проекта на среду выполнения сценариев Microsoft)
Dim fso As New FileSystemObject
Dim fil As File
Set fil = fso.GetFile("C:\foo.txt")
If (fil.attributes And ReadOnly) Then
fil.attributes = fil.attributes - ReadOnly
End If