访问python文件夹外的CSV文件
因此,我的文件大小完全相同,有行标题和列标题。我需要添加行和列标题之外的其余单元格中的值。这是我正在使用的函数:访问python文件夹外的CSV文件,python,file,csv,directory,forcing,Python,File,Csv,Directory,Forcing,因此,我的文件大小完全相同,有行标题和列标题。我需要添加行和列标题之外的其余单元格中的值。这是我正在使用的函数: def readStructured (filename): # Open the file fd = open (filename, 'rb') # CSV reader reader = csv.reader (fd , delimiter = ',') # Read data into memory data = []
def readStructured (filename):
# Open the file
fd = open (filename, 'rb')
# CSV reader
reader = csv.reader (fd , delimiter = ',')
# Read data into memory
data = []
for row in reader:
data.append (row)
return data
def mergeStructured (data1, data2):
# Empty array
ret = []
# Append the row header
ret.append (data1[0])
# For rows which are _not_ the row header,
for rowIndex in range (1, len (data1)):
row1 = data1[rowIndex]
row2 = data2[rowIndex]
# The row we are working on:
current = []
# Append the column header
current.append (row1[0])
# Now append the sum of the rest of the values
for index in range (1, len(row1)):
current.append (float (row1[index]) + float (row2[index]))
# And put the result in our data
ret.append (current)
return ret
And then I use this to call the functions:
data = readStructured('file1.csv')
data2 = readStructured('file2.csv')
y = mergeStructured(data, data2)
targetfile = open('testing.csv', 'wb')
writer = csv.writer(targetfile)
for row in y:
writer.writerow(row)
targetfile.close()
这很好用。但是,file1和file2不在python文件夹中。我需要使用的代码是
data=readStructured('C:\…\…\…\file1.csv')
data2=readStructured('C:\…\…\…\file2.csv')
这些文件完全相同。我在C位置打开文件,并使用“另存为”将它们保存到python文件夹中。但是,当我访问C文件夹中的文件时,我的1到len(行1)的范围超出范围
当我从python文件夹访问相同的文件时,我的1到len(row1)的范围是
太好了
有什么想法吗
这些文件完全相同。我在C位置打开文件,并使用“另存为”将它们保存到python文件夹中
在我看来,这可能是某种无形转换的来源。添加文件结尾字符,或删除尾随换行符或类似的内容。除非您复制文件,否则我不会相信文件是相同的。为什么您需要?只要
r“C:\file1.csv”
就足够了。。。正在指定文件实际所在的子文件夹。当您说您的范围“超出范围”是什么意思?你犯了什么错误?@kevin我不知道你想说什么。所以真正的文件位于C:\folder1\subfolder1\subfolder2\subfolder3\file.csv这样的路径中。我也将所有内容复制粘贴到新的excel工作表中,并将其保存为csv文件。我注意到它说文件可能包含与CSV不兼容的功能。是否保留此工作簿的此格式?我总是单击“是”,但我认为这可能会以某种方式改变文件。好的,是的,当我复制文件时,它仍然会出错。它与csv文件的格式有关