我正在读取python中的csv文件,我的第一个工作表已经填满了1048576行限制,我想从我的for循环中继续读取第二个工作表。我怎么能这样做?
答案 0 :(得分:0)
您正在阅读csv文件或xls文件吗? csv文件甚至可以有单独的工作表吗?
总的来说,我建议使用openpyxl,这是一个很棒的库,用于阅读xls文件及其工作表。
import openpyxl
wb = openpyxl.load_workbook('yourfile.xlsx')
wb.get_sheet_names()
可以列出所有可用的工作表
sheet = wb.get_sheet_by_name('worksheet123')
允许加载所需的工作表以进行进一步处理
答案 1 :(得分:-1)
csv文件没有单独工作表的概念。它可以被认为是一个单一的工作表。作为文本文件,它也没有行限制。如果您尝试将其导入Excel,那么可能会达到限制,但这将限制Excel。
如果你的文件确实有多个工作表,那么它可能是一个xls文件。
要读入xlsx文件,您需要使用openpyxl
等软件包。这使您可以读取所有工作表中的数据。
import openpyxl
data = []
wb = openpyxl.load_workbook('input.xlsx')
start_row = 1
for ws_name in wb.get_sheet_names():
ws = wb.get_sheet_by_name(ws_name)
for row in ws.iter_rows(min_row=start_row):
data.append([col.value for col in row])
start_row = 2 # skip the header in the other worksheets
# All data from all sheets has been loaded, display the data
for row in data:
print row
这将遍历工作簿中的每个工作表,并将所有行附加到单个data
列表中。它假定每个工作表在顶部包含相同的标题行。考虑到这一点,它会保留第一个工作表中的标题表,但会跳过所有后续工作表。如果没有标题行,或者您希望在每个工作表中包含标题行,则只需将其更改为start_row = 1
。