我正在制作一个数据查看器程序,其中一部分我需要制作一个导入功能,允许用户导入 CSV 文件。
CSV 文件包含销售额、年月日。
我还使用文本文件来跟踪导入的文件,因此文件不能导入多次。
我只是不知道从哪里开始。
import sales
import csv
with open('all_sales.csv', newline='') as f:
data = list(csv.reader(f))
#display a title
def display_welcome_message():
print("Welcome to data viewer program")
#display a title
def display_welcome_message():
print("Welcome to data viewer program")
def display_menu():
print("enter sales data")
print()
print("COMMAND MENU")
print("View - View All Sales")
print("add - Add sales")
print("Menu - Show menu")
print("Import - Import file")
print("Exit - Exit Program")
print()
total_amount=0
FILENAME = "all_sales.csv"
def read_sales():
all_sales = []
with open(FILENAME, newline="") as file:
reader = csv.reader(file)
for row in reader:
all_sales.append(row)
return all_sales
def write_sales(all_sales):
with open(FILENAME, "w", newline="") as file:
writer = csv.writer(file)
writer.writerows(all_sales)
#def create_file(all_sales):
#with open(FILENAME, "w") as file:
#file.write()
def add(all_sales):
amount1 = sales.get_amount()
year1 = sales.get_year()
month1 = sales.get_month()
day1 = sales.get_day()
#month1, day1, year1, print(" "), "amount:", amount1
add_sales = []
add_sales.append(month1)
add_sales.append(day1)a
add_sales.append(year1)
add_sales.append(amount1)
all_sales.append(add_sales)
write_sales(all_sales)
print(str(month1), " - ", day1, " - ", year1, "was added")
def importfile(all_sales):
print("Enter a file name to import: ")
def view(all_sales):
i = 0
total = 0
if len(all_sales) == 0:
print("there are no sales data in the list. \n")
return
else:
print(f" Date Quarter Amount")
print("---------------------------------------------------------")
while i < len(all_sales):
print(str(i+1),". ",all_sales[i][2],"-",all_sales[i][0],"-",all_sales[i][1]," "," $",all_sales[i][3])
total += all_sales[i][3]
i += 1
print("---------------------------------------------------------")
print("TOTAL: $", total)
def calculate_quarter():
if month1 <= 3:
quarter1 = 1
elif month1 > 3 and month1 <= 6:
quarter1 = 2
elif month1 > 6 and month1 <=9:
quarter1 = 3
elif month1 > 9 and month1 <=12:
quarter1 = 4
def main():
display_welcome_message()
display_menu()
all_sales = []
sales_list = []
while True:
command = input('enter command: ')
if command == 'view':
view(sales_list)
elif command == 'add':
add(sales_list)
elif command == 'menu':
display_menu()
elif command == 'exit':
break
else:
print("not a valid command. Please try again. \n")
print("Bye!")
if __name__ == "__main__":
main()
def importfile(all_sales):
filename = input("Import file name: ")
我在 def importfile(all_sales) 中有我想要使用的内容:但我不确定如何让它看起来像我需要的那样,请参阅此参考:
如果您想要
read_sales()
导入多个文件,您可能需要:
MY_SALES_FILES
,而不是单个文件 FILENAME
importfile()
将新文件添加到列表中read_sales()
从列表中读取 MY_SALES_FILES = [ "all_sales.csv" ]
def importfile():
MY_SALES_FILES.append(input("Import file name: "))
def read_sales():
all_sales = []
for filename in MY_SALES_FILES:
with open(filename, newline="") as file:
reader = csv.reader(file)
for row in reader:
all_sales.append(row)
return all_sales