从Excel导入坐标-Python

时间:2019-02-22 11:19:05

标签: python

我是python的新手,我正尝试将excel文件中的一组x,y坐标导入python。

每列具有以下格式的数据-('1050','728')到形状几乎为(行= 34,列= 10)的多行

我如何以-(x,y)格式在元组/列表或数据框中导入它

coordinates data in excel form

2 个答案:

答案 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