我有以下用于创建CSV文件的代码:
import csv
srcFile = open("C:\Users\XXXX\Expenses.csv","r")
data = srcFile.read()
srcList = data.split("\n")
colNames = srcList[0].split(",")
header = srcList[1]
sheetData = srcList[2:]
final_data = []
expense_data = []
for row in sheetData:
split_row = row.split(",")
final_data.append(split_row)
for row in range(0, len(final_data)-1):
for col in range(3, 30):
loc = final_data[row][0]
opsheet = final_data[row][1]
rowNum = final_data[row][2]
colName = colNames[col]
str1 = "='\\\xxxxxxx\xxxx\xxx\[APR_"
str2 = "_DATA.xlsm]"
str3 = "\'!"
str4 = "$"
finalStr = str1 + loc + str2 + opsheet + str3 + colName + str4 + rowNum
final_data[row][col] = ""
with open("c:\users\xxxxx\new_expenses.csv", "wb") as f:
fwriter = csv.writer(f)
fwriter.writerows(final_data)
我是Python的初学者,我知道这段代码不符合标准或真正的代码方式。但是这段代码工作正常并创建了一个CSV文件。
现在的问题是这个文件已经被其他人创建了,并且我将其复制用于其他目的,包括新数据和所有内容。之前创建的现有文件大小仅为30MB。但是,在此方法中创建的文件为180MB,需要花费大量时间才能打开。
原始文件只是一个工作表,包含51,000行和20个列,每个单元格引用网络位置工作簿中的某个单元格。
关于如何减小尺寸的任何想法?或是什么导致了巨大的? 另外作为初学者,我们非常感谢任何改进代码的建议/反馈。在此先感谢!!