【问题标题】:Closing file after using to_csv()使用 to_csv() 后关闭文件
【发布时间】:2014-12-09 01:32:28
【问题描述】:

我是 python 新手,到目前为止我很喜欢 ipython notebook 来学习。我是否使用 to_csv() 函数将 pandas 数据帧写入文件。我想打开 csv 看看它在 excel 中的样子,它只会以只读模式打开,因为它仍在被另一个人使用我如何关闭文件?

import pandas as pd
import numpy as np
import statsmodels.api as sm
import csv

df = pd.DataFrame(file)
path = "File_location"

df.to_csv(path+'filename.csv', mode='wb')

这将写出文件没有问题,但是当我在 excel 中“检查”它时,我会收到只读警告。这也给我带来了一个更大的问题。有没有办法查看python当前正在使用/触摸哪些文件?

【问题讨论】:

  • 尝试自己打开和关闭文件,outfile = open(path+'filename.csv', 'wb'); df.to_csv(outfile); oufile.close()
  • 谢谢!这就像一个魅力。

标签: python pandas


【解决方案1】:

最新的 pandas to_csv 完成后会自动关闭文件。

【讨论】:

  • 哪个版本? 1.1.5?谢谢
  • 我之前确实使用过,但您可以轻松测试这是否适用于您的 pandas 版本。只需在控制台中运行 to_csv('some.csv'),然后尝试修改和删除 some.csv。如果允许您的解释器仍然打开,则意味着 to_csv 释放了文件。
【解决方案2】:

这是更好的方法。 使用上下文管理器,您不必处理文件资源。

with open("thefile.csv", "w") as f:
    df.to_csv(f)

【讨论】:

    【解决方案3】:

    @rpattiso 谢谢。

    尝试自己打开和关闭文件:

    outfile = open(path+'filename.csv', 'wb')
    df.to_csv(outfile)
    outfile.close()     
    

    【讨论】:

      猜你喜欢
      • 2021-04-18
      • 2014-11-21
      • 2022-11-21
      • 2022-01-20
      • 2015-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多