删除整个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:无效的起始字节。
答案 0 :(得分:1)
您要问的我的最佳猜测是如何遍历包含多个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
删除文件。
由于您从未在代码中定义它们,因此我遗漏了ib
,numshares
和action
...