Sha*_*sir 2 python python-3.x aws-lambda
我正在尝试读取作为 base64 字符串收到的 csv 文件,如下所示
csvBase64Content = "R2VuIERhdGUsR2VuIFRpbWUsTGlmdGluZyBEYXRlLExpZnRpbmcgVGltZSxUZXJtaW5hbCxTdXBwbGllck5vLFN1cHBsaWVyLExpZnRpbmcgU3RhcnQgVGltZSxDdXN0b21lck5vLEN1c3RvbWVyLEJPTCBOdW1iZXIsTW92ZW1lbnQgSUQsQ29udHJhY3QsQ2FycmllciBDb2RlLENhcnJpZXIgTmFtZSxQcm9kdWN0IENvZGUsUHJvZHVjdCBEZXNjcmlwdGlvbixHcm9zcyBMaXRyZXMsU3RkIExpdHJlcyxNdCBBaXIsTXQgVmFjLE0zLERlbnNpdHksQXYgVGVtcCxBZGRpdGl2ZSBHcm9zcyxEZXN0aW5hdGlvbiBOdW1iZXIsRGVzdGluYXRpb24gTmFtZSxDYXJkIFVzZWQsRHJpdmVyLER1dHkgU3RhdHVzDQoyNy8wNC8yMDIwLDA6MTY6MDEsMjYvMDQvMjAyMCw0OjI1OjU3LCBkdW1teSAyLDEsZHVtbXkgRnVlbHMgTGltaXRlZCw0OjE3OjA3LDIwMTQwNjE5NixDdXN0b21lcjEsMjY1NTgwLDQwMjUsMCw0NCxnTEVJRCwxNDEsRElFU0VMLDI3NDA1LDI3NTM2LDIzLDIzLDI3LDAuODM0Niw5LjM4LDAsMSxOVUxMLCwsMg0KMjcvMDQvMjAyMCwwOjE2OjAxLDI2LzA0LzIwMjAsNjo1MDowNiwgZHVtbXkgMiwxLGR1bW15IEZ1ZWxzIExpbWl0ZWQsNjozNjoyNiwxMDM0NTIsQ3VzdG9tZXIzLDI2NTQ4MSw5MjYsMCw0NCxnTEVJRCwyNSxVTFNHLDM1OTAxLDM2MDU5LDMwLjEsMzAuMSwzNiwwLjgzNDk3LDkuODMsMCwxLE5VTEwsLCwyDQoyNy8wNC8yMDIwLDA6MTY6MDEsMjYvMDQvMjAyMCw4OjU4OjQxLCBkdW1teSAyLDEsZHVtbXkgRnVlbHMgTGltaXRlZCw4OjU0OjIwLDIwMTIxMTMxMSxDdXN0b21lciAoU1BPVCkgLSAyMDEyLTExLTMxMSw0MDU0NDksNzI3NCwwLDQ3LFdJVCwyNSxVTFNHLDExOTk5LDEyMDM1LDEwLjEsMTAuMSwxMiwwLjgzNDk3LDExLjQyLDAsMSxOVUxMLCwsMg0KMjcvMDQvMjAyMCwwOjE2OjAxLDI2LzA0LzIwMjAsMTA6MzA6MDcsIGR1bW15IDIsMSxkdW1teSBGdWVscyBMaW1pdGVkLDEwOjI4OjE3LDIwMTIxMTMxMSxDdXN0b21lciAoU1BPVCkgLSAyMDEyLTExLTMxMSw0MDUzMjUsNzIyNiwwLDQ3LFdJVCwxNDEsRElFU0VMLDIwMDAsMjAwMywxLjcsMS43LDIsMC44MzQ2LDEzLjcsMCwxLE5VTEwsLCwyDQo="
decrypted = b64.b64decode(csvBase64Content)
with open(decrypted) as csvFile:
#other stuff
Run Code Online (Sandbox Code Playgroud)
出现错误:
OSError: [Errno 22] Invalid argument:
Run Code Online (Sandbox Code Playgroud)
这是一个适用于您的数据的答案 - 请注意,我需要.decode('utf-8')
它运行的方法。
import base64
import csv
import io
csvBase64Content = "R2VuIERhdGUsR2VuIFRpbWUsTGlmdGluZyBEYXRlLExpZnRpbmcgVGltZSxUZXJtaW5hbCxTdXBwbGllck5vLFN1cHBsaWVyLExpZnRpbmcgU3RhcnQgVGltZSxDdXN0b21lck5vLEN1c3RvbWVyLEJPTCBOdW1iZXIsTW92ZW1lbnQgSUQsQ29udHJhY3QsQ2FycmllciBDb2RlLENhcnJpZXIgTmFtZSxQcm9kdWN0IENvZGUsUHJvZHVjdCBEZXNjcmlwdGlvbixHcm9zcyBMaXRyZXMsU3RkIExpdHJlcyxNdCBBaXIsTXQgVmFjLE0zLERlbnNpdHksQXYgVGVtcCxBZGRpdGl2ZSBHcm9zcyxEZXN0aW5hdGlvbiBOdW1iZXIsRGVzdGluYXRpb24gTmFtZSxDYXJkIFVzZWQsRHJpdmVyLER1dHkgU3RhdHVzDQoyNy8wNC8yMDIwLDA6MTY6MDEsMjYvMDQvMjAyMCw0OjI1OjU3LCBkdW1teSAyLDEsZHVtbXkgRnVlbHMgTGltaXRlZCw0OjE3OjA3LDIwMTQwNjE5NixDdXN0b21lcjEsMjY1NTgwLDQwMjUsMCw0NCxnTEVJRCwxNDEsRElFU0VMLDI3NDA1LDI3NTM2LDIzLDIzLDI3LDAuODM0Niw5LjM4LDAsMSxOVUxMLCwsMg0KMjcvMDQvMjAyMCwwOjE2OjAxLDI2LzA0LzIwMjAsNjo1MDowNiwgZHVtbXkgMiwxLGR1bW15IEZ1ZWxzIExpbWl0ZWQsNjozNjoyNiwxMDM0NTIsQ3VzdG9tZXIzLDI2NTQ4MSw5MjYsMCw0NCxnTEVJRCwyNSxVTFNHLDM1OTAxLDM2MDU5LDMwLjEsMzAuMSwzNiwwLjgzNDk3LDkuODMsMCwxLE5VTEwsLCwyDQoyNy8wNC8yMDIwLDA6MTY6MDEsMjYvMDQvMjAyMCw4OjU4OjQxLCBkdW1teSAyLDEsZHVtbXkgRnVlbHMgTGltaXRlZCw4OjU0OjIwLDIwMTIxMTMxMSxDdXN0b21lciAoU1BPVCkgLSAyMDEyLTExLTMxMSw0MDU0NDksNzI3NCwwLDQ3LFdJVCwyNSxVTFNHLDExOTk5LDEyMDM1LDEwLjEsMTAuMSwxMiwwLjgzNDk3LDExLjQyLDAsMSxOVUxMLCwsMg0KMjcvMDQvMjAyMCwwOjE2OjAxLDI2LzA0LzIwMjAsMTA6MzA6MDcsIGR1bW15IDIsMSxkdW1teSBGdWVscyBMaW1pdGVkLDEwOjI4OjE3LDIwMTIxMTMxMSxDdXN0b21lciAoU1BPVCkgLSAyMDEyLTExLTMxMSw0MDUzMjUsNzIyNiwwLDQ3LFdJVCwxNDEsRElFU0VMLDIwMDAsMjAwMywxLjcsMS43LDIsMC44MzQ2LDEzLjcsMCwxLE5VTEwsLCwyDQo="
decrypted = base64.b64decode(csvBase64Content).decode('utf-8')
with io.StringIO(decrypted) as fp:
reader = csv.reader(fp, delimiter=",", quotechar='"')
for row in reader:
print(row)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7994 次 |
最近记录: |