Python如何读取xlsx文件并转换为csv而不写入目录[关闭]
Posted
技术标签:
【中文标题】Python如何读取xlsx文件并转换为csv而不写入目录[关闭]【英文标题】:Python how to read xlsx file and convert into csv without writing to directory [closed] 【发布时间】:2022-01-20 22:50:04 【问题描述】:我收到来自HTTP POST
请求的xlsx
文件并使用pd.read_excel()
读取它。一开始是不可读的二进制格式,所以我使用.to_csv()
将其转换为csv
import pandas as pd
import requests
response = http_post('https://data.bls.gov/pdq/SurveyOutputServlet')
xlsx = pd.read_excel(response.content)
xlsx.to_csv('outputname.csv', index=False)
这可行,它为我提供了数据的可读版本,但问题是to_csv()
也在将文件写入我的目录,我不想将这些数据保存在任何地方。我只想使用http获取文件内容,将其转换为csv,在我的脚本中使用该数据,然后在我不再需要它时让它消失;不写入其他文件。
有没有办法做到这一点?我是否甚至需要转换为 csv
才能获得 xlsx
数据的可读表示?
【问题讨论】:
你不需要调用 .to_csv()。只需对从 .read_excel() 获得的数据框进行操作 您似乎混淆了“CSV”和“数据”。您已经在内存中拥有数据。如果您不想将其写入文件,请不要。 【参考方案1】:CSV 是一种文件格式;没有特别的理由需要 CSV 在内存中,除非您最终将其写入磁盘但需要在此之前以某种方式预处理字节。几乎可以肯定,只需将数据读入 Pandas 数据框即可。
【讨论】:
如果xslx
中的数据不能直接供您使用,也许(接受并)用有问题的数据样本提出一个新问题【参考方案2】:
import pandas as pd
import requests
response = http_post('https://data.bls.gov/pdq/SurveyOutputServlet')
xlsx = pd.read_excel(response.content)
xlsx = xlsx.csv('outputname.csv', index=False)
【讨论】:
请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常更有帮助,质量更高,更有可能吸引投票。以上是关于Python如何读取xlsx文件并转换为csv而不写入目录[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在前端(TS、React)上将 CSV 转换并下载到 XLSX
使用 python 将 XLSX 正确转换为 CSV [关闭]