将 pandas 数据框作为 CSV 文件导出到 Azure Data Lake Storage?
Export pandas data frame to Azure Data Lake Storage as a CSV file?
这可能是一个不常见的问题,因为我相信以前从未有人问过这个问题,但是是否可以将 Pandas 数据框作为 CSV 文件直接导出到 Azure Data Lake Storage?
为了添加一些上下文,我有一个 pandas 数据框,它作为 CSV 文件导出到本地目录,使用 datalakeserviceclient
然后我从文件路径获取 CSV 文件并写入文件进入数据湖存储。
docs[:0].to_csv("test.csv", index = False)
docs.to_csv("test.csv", index = False, header = False ,mode = 'a', quoting = csv.QUOTE_NONNUMERIC)
try:
global service_client
service_client = DataLakeServiceClient(account_url="{}://{}.dfs.core.windows.net".format(
"https", "XXXX"), credential='XXX')
file_system_client = service_client.get_file_system_client(file_system="root")
directory_client = file_system_client.get_directory_client("test_db")
file_client = directory_client.create_file("test.csv")
local_file = open(r"C:XXXX\test.csv",'rb')
file_contents = local_file.read()
file_client.upload_data(file_contents, overwrite=True)
except Exception as e:
print(e)
但是,我不想将数据框导出到我的本地目录,而是想找到一种方法将其直接导出到数据湖存储。这真的可能吗?
感谢任何帮助
pandas.to_csv
(doc) 可以将数据帧保存到缓冲区中。
试试下面的代码:
from io import StringIO
text_stream = StringIO()
docs.to_csv(text_stream)
# the rest of your code
file_client.upload_data(text_stream, overwrite=True)
这可能是一个不常见的问题,因为我相信以前从未有人问过这个问题,但是是否可以将 Pandas 数据框作为 CSV 文件直接导出到 Azure Data Lake Storage?
为了添加一些上下文,我有一个 pandas 数据框,它作为 CSV 文件导出到本地目录,使用 datalakeserviceclient
然后我从文件路径获取 CSV 文件并写入文件进入数据湖存储。
docs[:0].to_csv("test.csv", index = False)
docs.to_csv("test.csv", index = False, header = False ,mode = 'a', quoting = csv.QUOTE_NONNUMERIC)
try:
global service_client
service_client = DataLakeServiceClient(account_url="{}://{}.dfs.core.windows.net".format(
"https", "XXXX"), credential='XXX')
file_system_client = service_client.get_file_system_client(file_system="root")
directory_client = file_system_client.get_directory_client("test_db")
file_client = directory_client.create_file("test.csv")
local_file = open(r"C:XXXX\test.csv",'rb')
file_contents = local_file.read()
file_client.upload_data(file_contents, overwrite=True)
except Exception as e:
print(e)
但是,我不想将数据框导出到我的本地目录,而是想找到一种方法将其直接导出到数据湖存储。这真的可能吗?
感谢任何帮助
pandas.to_csv
(doc) 可以将数据帧保存到缓冲区中。
试试下面的代码:
from io import StringIO
text_stream = StringIO()
docs.to_csv(text_stream)
# the rest of your code
file_client.upload_data(text_stream, overwrite=True)