我是python的新手,我正尝试将excel文件中的一组x,y坐标导入python。
每列具有以下格式的数据-('1050','728')到形状几乎为(行= 34,列= 10)的多行
我如何以-(x,y)格式在元组/列表或数据框中导入它
答案 0 :(得分:0)
如何与read_excel函数一起使用熊猫 (到目前为止,我从未尝试过使用它) ...或者,将excel文件导出到csv文件并使用read_csv 或numpy的loadtext
一旦有了python中每个单元格的字符串(str),就可以通过以下方式将它们转换为x-和y值
x, y = str.replace('(', '').replace(')','').split(',')
例如
import numpy as np
data = ['(1,2)', '(3,4)', '(5,6)', '(77,8)']
x, y = np.array([i.replace('(', '').replace(')','').split(',') for i in data], dtype=int).T
答案 1 :(得分:0)
如果您不想使用numpy
,可以尝试执行以下操作:
# python 2.7
from ast import literal_eval
import xlrd # pip install xlrd
wb = xlrd.open_workbook('PATH/TO/FILE.xlsx') # get Excel workbook
sheet = wb.sheet_by_name(wb.sheet_names()[0]) # get first sheet
result = []
for i in xrange(sheet.nrows): # loop over all filled rows
# add all non-empty values to result list
result.extend([literal_eval(cell.value) for _, cell in enumerate(sheet.row(i)) if cell.ctype != xlrd.XL_CELL_EMPTY])
print result