以下代码查看ZIP文件夹中的CSV文件,然后使用索引设置的概念,尝试提取包含条目" HINDUNILVR"在一系列日期(读取ZIP文件)中,每个CSV文件(此代码段位于另一个循环内)的列" SYMBOL"中。但是,代码中存在一些问题,因为我的" stock.csv"中没有输出。 C:中存在的文件。运行此代码后它为空。
预期的输出文件说明:
一个名为" stock.csv"的CSV文件;包含第一列为SYMBOL,其中HINDUNILVR作为该列每个单元格中的条目,后面是与同一行中每天的库存相关的许多价格和详细信息。
Python代码:
if(int(str(sdate.day))<10):
df1 = pd.read_csv(zf.open("cm" + "0" + str(sdate.day) + MonthCode(sdate.month) + str(sdate.year) + "bhav.csv"))
else:
df1 = pd.read_csv(zf.open("cm" + str(sdate.day) + MonthCode(sdate.month) + str(sdate.year) + "bhav.csv"))
df2 = df1.set_index("SYMBOL", drop = False)
saved_row = df2.loc["HINDUNILVR",:]
with open_file('C:\stock.csv','a') as f:
saved_row.to_csv(f,header=False)
答案 0 :(得分:2)
根据我的理解,您只需要将SYMBOL='HINDUNILVR'
的所有行复制到新文件中。
下面的示例代码读取相同的文件并写回同一文件。您可以根据需要更改文件名:
import pandas as pd
import os
df1 = pd.read_csv("Sample.csv")
df2 = df1[df1["SYMBOL"]=="HINDUNILVR"]
with open('Sample.csv','a+') as f:
df2.to_csv(f,header=False,index=False)
或
import pandas as pd
import os
df1 = pd.read_csv("Sample.csv")
df2 = df1[df1["SYMBOL"]=="HINDUNILVR"]
df2.to_csv("Sample.csv",header=False,mode='a+',index=False)
或代码更新:
if(int(str(sdate.day))<10):
df1 = pd.read_csv(zf.open("cm" + "0" + str(sdate.day) + MonthCode(sdate.month) + str(sdate.year) + "bhav.csv"))
else:
df1 = pd.read_csv(zf.open("cm" + str(sdate.day) + MonthCode(sdate.month) + str(sdate.year) + "bhav.csv"))
df2 = df1[df1["SYMBOL"]=="HINDUNILVR"]
df2.to_csv("C:\stock.csv",mode='a+',header=False,index=False)
或
if(int(str(sdate.day))<10):
df1 = pd.read_csv(zf.open("cm" + "0" + str(sdate.day) + MonthCode(sdate.month) + str(sdate.year) + "bhav.csv"))
else:
df1 = pd.read_csv(zf.open("cm" + str(sdate.day) + MonthCode(sdate.month) + str(sdate.year) + "bhav.csv"))
df2 = df1[df1["SYMBOL"]=="HINDUNILVR"]
with open('C:\stock.csv','a+') as f:
df2.to_csv(f,header=False,index=False)