python - 使用 python 删除桌面上的 CSV 工作表(出现错误 UnicodeDecodeError : 'utf-8' )

标签 python pandas

删除整个 Excel 工作表(CSV 逗号分隔)的最简单方法是什么?将工作表覆盖为空白也可以。

我需要将其自动化。它应该在此循环结束时删除该工作表。

到目前为止我的代码:

file_name =r'C:\Users\Trading\Desktop\scott\test.csv'

while True:
    df=pd.read_csv(file_name, header=None, encoding="latin1")

    if file_name is not "":
        df=pd.read_csv(file_name, header=None)
        lastRow = df.iloc[-1]
        stock=(lastRow[0])
        price=(lastRow[3])

        print (stock, action, num_shares, price)
        os.remove(file_name)
        #csv_file.unlink()  #I also tried this way..

        print("file deleted")

更新错误消息

现在我收到错误 UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 18 中的字节 0xa0: 无效的起始字节。

最佳答案

我对您所问问题的最佳猜测是如何循环遍历包含多个 csv 文件的目录,读取并处理每个文件,然后删除它?我首先要说的是,您应该在运行此代码之前备份整个文件夹(并且可能编写为您执行此备份的代码):

import pandas as pd
from pathlib import Path

folder = Path("C:/Users/Trading/Desktop/scott")
# Loop through all the csv files in the folder
for csv_file in folder.glob("*.csv"):

    # read and process the files
    df = pd.read_csv(csv_file, header=None)
    stock = df.iloc[-1, 0]
    price = df.iloc[-1, 3]
    print(stock, price) # Do you really only want to print? You don't want to save this data somewhere permanent???

    # Permanently delete the file
    csv_file.unlink() 

注意,os.remove() 会工作得很好。但从 python 3.4 开始,pathlib是在 python(而不是 os)中处理文件的正确方法。您可以使用 .unlink() 方法删除带有 pathlib 的文件。

我遗漏了 ibnumsharesaction 因为您从未在代码中定义它们...

关于python - 使用 python 删除桌面上的 CSV 工作表(出现错误 UnicodeDecodeError : 'utf-8' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56761296/

相关文章:

python - 重定向 stdout 时在 python 上调用子进程时出错

python - 如何在 python 中插入地理引用数据?

python - 如何在Python中将音频文件输入的语音转换为文本

python - SWIG 将 C 库连接到 Python(SWIG 生成的类使用起来很麻烦)

pandas - python - 在python中连接两个df时,为什么会丢失有关使用np.hstack的索引和列标题信息?

python - Pandas:根据更复杂的标准选择和修改数据框

python - 添加一列,其中包含另一列中元组值的新值

python - Pytest中如何控制增量测试用例

python - 将 DataFrameGroupBy 对象中的每个分组列转换为列表

python - pandas DataFrame 列中值的计数频率