<p>我想使用StringIO而不是文本文件将数据复制到pandas数据框中。有些文件将非常大,我不希望有大的文本文件,然后删除。使用StringIO似乎是一个更好的解决方案</p>
<p>如果我这样做的话,数据帧的创建就没有问题了</p>
<pre><code>import pandas as pd
import requests
indIndustryDataURL='https://download.bls.gov/pub/time.series/pc/pc.industry' #0.04MB
# put data from web into a requests.get() object
indIndustryData=requests.get(indIndustryDataURL, allow_redirects=True)
# Store column names and data rows from requests.get() in separate list objects
industryDataColNames=indIndustryData.text.split('\r\n')[0].split('\t')
industryDataRowData=indIndustryData.text.split('\r\n')[1:-1]
# Print row data into a text file ready for import pandas like csv
with open('industryDataRowData.txt','w') as f:
f.writelines('%s\n' % row for row in industryDataRowData )
#This works fine
df1=pd.read_csv('industryDataRowData.txt',sep='\t', names=industryDataColNames)
</code></pre>
<p>但是当我尝试StringIO()时,下面的代码来自同一个jupyter笔记本,由于路径太长的错误,它不允许我使用</p>
<pre><code>import io
io = io.StringIO()
start_time = datetime.now()
io.writelines(industryDataRowData)
io.seek(0)
df2=pd.read_csv(io.getvalue(),sep='\t', names=industryDataColNames)
</code></pre>
<blockquote>
<p>ValueError: stat: path too long for Windows</p>
</blockquote>
<p>有什么建议吗</p>