我正在从我公司数据库的导出中解析 CSV。这是一个精简的版本,大约有 15 列,实际的 CSV 有超过 400 列数据(都是必需的)。以下工作完美:
inv = csv.reader(open('inventory_report.txt', 'rU'), dialect='excel', delimiter="\t")
for PART_CODE,MODEL_NUMBER,PRODUCT_NAME,COLOR,TOTAL_ONHAND,TOTAL_ON_ORDER,TOTAL_SALES,\
SALES_YEAR_TO_DATE,SALES_LASTYEAR_TO_DATE,TOTAL_NUMBER_OF_QTYsSOLD,TOTAL_PURCHASES,\
PURCHASES_YEAR_TO_DATE,PURCHASES_LASTYEAR_TO_DATE,TOTAL_NUMBER_OF_QTYpurchased,\
DATE_LAST_SOLD,DATE_FIRST_SOLD in inv:
print ('%-20s %-90s OnHand: %-10s OnOrder: %-10s') % (MODEL_NUMBER,PRODUCT_NAME,\
TOTAL_ONHAND,TOTAL_ON_ORDER)
正如您已经知道的那样,当“for”循环为 CSV 中的行的每个项目附加了 400 多个名称时,阅读起来会非常痛苦。不管多么烦人,但是通过这种方法能够访问我所追求的输出非常方便。我可以轻松获取特定项目并使用我们在销售点数据库中已经熟悉的常用名称执行计算。
我一直在尝试使它更具可读性。试图找出一种方法,我可以在 for 循环中定义所有这些名称的列表,但在进行计算和打印输出时仍然能够按名称调用它们。
有什么想法吗?